привет, поделюсь своим опытом использования lowkiq.
У нас есть несколько веб-приложений, которые интенсивно обмениваются между собой данными.
1. Отправитель может слать пачки пакетов, в котором саггрегировано несколько обновлений объектов.
Порядок гарантируется временем события, оно (редко, но бывает) совпадает до миллисекунд даже для одного объекта.
Sidekiq их обработает параллельно, данные сохранятся в случайном порядке с дедлоками.
Sidekiq-grouping не поможет при интенсивных обменах (
https://github.com/bia-technologies/lowkiq#sidekiq). Часть пакетов может обрабатываться параллельно.
Lowkiq упорядочит данные и обработает события в рамках уникального ключа последовательно.
2. Можно обрабатывать только последний пакет, исключая дубли.
Отложенная обработка + исключение дублей = снижение нагрузки.
3. Фича sidekiq pro, когда задачи не теряются при падении сайдкика.
4. В админке есть lag - отставание в обработке. Можно настроить мониторинг, сигнализировать о проблемах.
Это иногда точнее количествава задач в очереди.
Будем признательны за обратную связь, замечания, дополнения.
В библиотеку было вложено много сил. Считаю, что ее ценность выходит далеко за рамки одной компании.