Страница 1 из 1

RabitMQ - получить пачку сообщений за один раз

Добавлено: 2019.04.22, 09:24
KEFIR4UK
Добрый день. Столкнулся с проблемой производитильности - и единым решением пока нашли то что нужно чтобы реббит отдавал консюмеру за один раз не одно сообщения а скажем 100. Читаю доку по ребиту - и немогу найти опцию которая за это отвечает. Может кто нибуть поможет ?
В UI самого реббита такая штука есть..

Re: RabitMQ - получить пачку сообщений за один раз

Добавлено: 2019.04.22, 12:47
chesar
Отпишите потом как решали задачу.
Кажется в самом кролике такого нет. Консьюмер читает по одному сообщению из очереди по мере их поступления и думаю сам должен решать сколько он сообщений принял и уходить в таймаут.
Я бы посмотрел в сторону ограничения количества сообщений в самой очереди. Т.е. примерно такая схема:
Отправитель - Обменник(no limit) - Очередь(limit:100) - Получатели.

Re: RabitMQ - получить пачку сообщений за один раз

Добавлено: 2019.04.22, 12:54
KEFIR4UK
Во воложении скрин где видно что в админке реббит есть такое

Re: RabitMQ - получить пачку сообщений за один раз

Добавлено: 2019.04.22, 14:01
chesar
KEFIR4UK писал(а): 2019.04.22, 12:54 Во воложении скрин где видно что в админке реббит есть такое
https://github.com/rabbitmq/rabbitmq-ma ... et.erl#L88
Я в эрланге не силён, но мне кажется тут как раз рекурсивно уменьшается счётчик прочитанных сообщений. Т.е. консьюмер сам за этим следит.