Що таке bull mq?
BullMQ є легка, надійна та швидка бібліотека NodeJS для створення фонових завдань і надсилання повідомлень за допомогою черг. BullMQ розроблено таким чином, щоб бути простим у використанні, але водночас потужним і легко конфігурованим. Він підтримується Redis, що дозволяє легко масштабувати горизонтально та обробляти завдання на кількох серверах.
Однак Kafka зберігає всі повідомлення протягом встановленого періоду часу (тиждень за замовчуванням) незалежно від того, чи були вони оброблені чи ні, що дозволяє повторну обробку. Навпаки, BullMQ видалятиме завдання після їх завершення, якщо не вказано їх збереження.
Модель подій роботи: У Bull події завдань були реалізовані через механізм Pub-Sub, тоді як BullMQ використовує Streams для подій завдань. Це забезпечує кращу надійність і продуктивність.
І навпаки, з BullMQ цими аспектами потрібно керувати вручну або за допомогою додаткових інструментів. Особливості: BullMQ пропонує розширені функції, такі як події завдань, пріоритети, відкладені завдання та черги з обмеженою швидкістю, тоді як SQS забезпечує обробку принаймні один раз, черги мертвих листів і час очікування видимості.
BullMQ Pro використовує модель ліцензування для кожної організації, що дозволяє необмежене використання в усіх ваших проектах. Ви можете подати запит на безкоштовний пробний токен на цій сторінці, щоб оцінити його вартість.
BullMQ успішно використовується у виробництві для здійснення перекодування відео, обробки зображень, надсилання електронної пошти та багатьох інших типів фонових завдань. Відкритий вихідний код під щедрою ліцензією MIT, без будь-яких штучних обмежень щодо кількості працівників, паралельності тощо.