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.