RabbitMQ обмениваются сообщениями, потребители прекращают использовать сообщения

Наша команда находится в спринте скачка для выбора между ActiveMQ или RabbitMQ. Мы сделали 2 небольших скачка производителя/потребителя, отправляющие объектное сообщение с массивом 16 строк, метки времени и 2 целых чисел. Скачки в порядке на наших devs машинах (сообщения хорошо используются).

Затем прибыл benchs. Мы сначала заметили, что иногда, на наших машинах, когда мы отправляли много сообщений, потребитель иногда зависал. Это было там, но сообщения накапливались в очереди.

Когда мы пошли на plateform места размещения:

  • кластер 2 rabbitmq машин 4 cores/3.2Ghz, 4 ГБ RAM, загрузка, сбалансированная VIP
  • один 6 потребителям, работающим на rabbitmq машинах, сохраняя сообщения в mysql DB (тот же тип машины для DB)
  • 12 производителей, работающих на 12 машинах AS (кот), на которого нападают jmeter, работающим на другой машине. Загрузка является приблизительно 600 - 700 запросами HTTP в секунду на сервлетах, который производит ту же загрузку сообщений RabbitMQ.

Мы заметили, что иногда, потребители зависают (хорошо, они не заблокированы, но они больше не используют сообщения). Мы видим, что, потому что каждый потребитель сохраняет приблизительно 100 сообщений/секунда в базе данных, поэтому когда каждый прекращает использовать, полные сообщения, сохраненные в секунды в DB, падают с тем же отношением (если позволено говорят, что 3 потребителя останавливаются, мы падаем приблизительно 600 сообщений/секунда на 300 сообщений/секунда).

В течение того времени производители в порядке, и все еще производят на jmeter уровне (приблизительно 600 сообщений/секунда). Сообщения находятся в очередях и взяты потребителями, все еще "живыми".

Мы загружаем все сервлеты производителями сначала, затем запускаем всех потребителей один за другим, проверяя, ли связи в порядке, то выполненный jmeter.

Мы отправляем сообщения в один прямой обмен. Все потребители слушают одну персистентную очередь, ограниченную к обмену.

Тот пункт является важным для нашего выбора. Вы видели это с rabbitmq, у Вас есть идея того, что продолжается?

Спасибо за Ваши ответы.

5
задан Bruno Thomas 19 July 2010 в 20:52
поделиться