Установить лимит сообщений в очередь RabbitMQ - PullRequest
0 голосов
/ 10 февраля 2020

Я использую протоколы AMQP и MQTT в RabbitMQ. Я использую библиотеку pica для AMQP и библиотеку paho для MQTT. Я могу указать лимит сообщений, когда определяю хвост с помощью Pika (x-max-length). Но когда я использую paho для MQTT, я не могу ограничить сообщение. Если в AMQP указать ограничение на количество сообщений в очереди 50, количество сообщений в очереди никогда не превысит 50. Почему я не могу сделать это в MQTT, есть ли другой способ установить предел сообщений?

https://www.youtube.com/watch?v=xcpxGJuOyBQ

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

1 Ответ

0 голосов
/ 10 февраля 2020

Используя rabbitmqctl, вы можете напрямую установить максимальную длину для очереди, используя политики, вместо того, чтобы делать это с помощью клиентских библиотек.

Пример:

rabbitmqctl set_policy my-pol "^one-meg$" '{"max-length-bytes":1048576}' --apply-to queues

Взгляните на Очередь Ограничение длины в официальных документах.

...