Resque vs Sidekiq? [зачинено]


127

В даний час я використовую Resqueдля мого фонового процесу, але останнім часом я почув багато хаффа sidekiq. Чи може хтось порівнювати / диференціювати?

Зокрема, я хотів би знати, чи існує спосіб програмного моніторингу того, чи виконується робота sidekiq


71
Мені так до душі бачити, що це питання не було закритим, як "не підходить для ПП".
Dogweather

51
Чи можемо ми припинити закривати всі хороші запитання? Я знаю, що це досить широко, це також досить важливо і досить цікаво.
суперлюмінація

19
Одного разу вони винайдуть сайт, де програмісти можуть задавати питання, і цей сайт дозволить суб'єктивні відповіді. Питання, які можна ігнорувати або навіть проголосувати на основі релевантності.
baash05

4
@ baash05 і буде називатися Quora!
нахлі

6
Він буде називатися Yahoo Answers, і якість знизиться через підлогу.
півзахисник

Відповіді:


130

Resque:

Плюси:

Мінуси

  • запускає процес на одного працівника (використовує більше пам’яті);
  • не намагається виконати завдання (все-таки поза межами коробки).

Sidekiq:

Плюси

  • виконує нитку на одного працівника (використовує значно менше пам’яті);
  • менше розщеплення (працює швидше);
  • більше варіантів з коробки.

Мінуси

  • [величезний] вимагає безпеки потоку вашого коду та всіх залежностей . Якщо ви запускаєте небезпечний для потоку код з потоками, ви задаєте проблеми;
  • працює на деяких рубінах краще, ніж на інших (рекомендується друбі, ефективність на МРТ знижується за рахунок GVL (глобальний замок VM)).

19
Звідки ви знаєте, чи використовується "небезпечний код"?
Dogweather

4
Наприклад, якщо ви зберігаєте стан у глобальних змінних, то у вас виникають проблеми :) Щодо дорогоцінних каменів, ось деякі у вікі .
Серхіо Туленцев

25
@mrbrdo Ви не можете більше помилитися. GVL не має нічого спільного з безпекою потоку вашого рубінового коду. GVL стосується безпеки потоку коду інтерпретатора рубіну (код МР C).
radarek

2
Я маю суперечити "профі" на Resque, який говорить "ви можете використовувати будь-який рубін". Сьогодні README для Resque говорить: "Ми б хотіли підтримувати неметалічні рубіни, але вони можуть мати помилки". github.com/resque/resque/blob/master/README.md#requirements
JellicleCat

2
Я б особливо уникав Sidekiq, якщо ви плануєте запускати JavaScript у своїх робочих місцях за допомогою therubyracer. Не винна Sidekiq сама по собі, але багатопотоковість викликає проблеми для therubyracer. Дивіться github.com/cowboyd/therubyracer/isissue/206
Джеремі Бертон

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.