为RabbitMQ队列设置消息限制

时间:2020-02-10 07:44:03

标签: rabbitmq mqtt iot paho pika

我在RabbitMQ中同时使用AMQP和MQTT协议。我将pica库用于AMQP,将paho库用于MQTT。当我用Pika(x-max-length)定义尾巴时,可以给出消息限制。但是,当我将paho用于MQTT时,我无法限制该消息。如果我在AMQP中给队列设置了50条消息限制,那么队列中的消息数将永远不会超过50条。为什么我不能在MQTT上这样做,还有另一种设置消息限制的方法吗?

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

有一个示例视频。广播者发送消息的速度很快,但是由于接收者的速度很慢,因此代理中积累了太多消息。我一直想收到最后一条消息。

1 个答案:

答案 0 :(得分:0)

使用rabbitmqctl,您可以直接使用策略设置队列的最大长度,而不必使用客户端库进行设置。

示例:

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

在官方文档中查看Queue Length Limit