Наша команда находится в спринте скачка для выбора между ActiveMQ или RabbitMQ. Мы сделали 2 небольших скачка производителя/потребителя, отправляющие объектное сообщение с массивом 16 строк, метки времени и 2 целых чисел. Скачки в порядке на наших devs машинах (сообщения хорошо используются).
Затем прибыл benchs. Мы сначала заметили, что иногда, на наших машинах, когда мы отправляли много сообщений, потребитель иногда зависал. Это было там, но сообщения накапливались в очереди.
Когда мы пошли на plateform места размещения:
Мы заметили, что иногда, потребители зависают (хорошо, они не заблокированы, но они больше не используют сообщения). Мы видим, что, потому что каждый потребитель сохраняет приблизительно 100 сообщений/секунда в базе данных, поэтому когда каждый прекращает использовать, полные сообщения, сохраненные в секунды в DB, падают с тем же отношением (если позволено говорят, что 3 потребителя останавливаются, мы падаем приблизительно 600 сообщений/секунда на 300 сообщений/секунда).
В течение того времени производители в порядке, и все еще производят на jmeter уровне (приблизительно 600 сообщений/секунда). Сообщения находятся в очередях и взяты потребителями, все еще "живыми".
Мы загружаем все сервлеты производителями сначала, затем запускаем всех потребителей один за другим, проверяя, ли связи в порядке, то выполненный jmeter.
Мы отправляем сообщения в один прямой обмен. Все потребители слушают одну персистентную очередь, ограниченную к обмену.
Тот пункт является важным для нашего выбора. Вы видели это с rabbitmq, у Вас есть идея того, что продолжается?
Спасибо за Ваши ответы.