Как обнаружить перегрузку очередей Rabbit MQ или альтернативное уведомление о потоке - PullRequest
0 голосов
/ 14 февраля 2019

Есть ли простой способ обнаружить перегрузку очереди любого кролика (когда какой-либо канал вошел в режим потока или когда какая-либо очередь имеет низкое значение использования потребителем)?Мы будем использовать эти данные для динамической установки нашего интервала агрегации, поскольку нет необходимости обрабатывать входящие данные быстрее, чем потребляются исходящие сообщения.

Итак, мы решили начать с прослушивателя потока.В предыдущих версиях у кролика был flowlistener (https://www.rabbitmq.com/releases/rabbitmq-java-client/v2.1.1/rabbitmq-java-client-javadoc-2.1.1/com/rabbitmq/client/FlowListener.html),, но в последних версиях он был удален с предположением, что он был заменен обратным давлением tcp.

Теперь нам пришлось искать альтернативный подход. Пока я знаюКролик блокирует издателей, чтобы замедлить публикацию, когда канал или очередь находятся в потоке, поэтому мы попытались опубликовать тактовые импульсы в новой очереди, но в том же издателе, где мы публикуем наши бизнес-данные и читаем эти тактовые импульсы в другом слушателе.обнаружить увеличение задержки hb. Эта попытка также не удалась, потому что в этом случае мы в основном измеряли задержку сериализации бизнес-данных и время передачи этих данных кролику, а не измеряли его нагрузку.

Так что, может быть, кто-то знаетэлегантный способ измерения нагрузки на кролика в последних версиях?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...