我在RabbitMQ中同时使用AMQP和MQTT协议。我将pica库用于AMQP,将paho库用于MQTT。当我用Pika(x-max-length)定义尾巴时,可以给出消息限制。但是,当我将paho用于MQTT时,我无法限制该消息。如果我在AMQP中给队列设置了50条消息限制,那么队列中的消息数将永远不会超过50条。为什么我不能在MQTT上这样做,还有另一种设置消息限制的方法吗?
https://www.youtube.com/watch?v=xcpxGJuOyBQ
有一个示例视频。广播者发送消息的速度很快,但是由于接收者的速度很慢,因此代理中积累了太多消息。我一直想收到最后一条消息。
答案 0 :(得分:0)
使用rabbitmqctl
,您可以直接使用策略设置队列的最大长度,而不必使用客户端库进行设置。
示例:
rabbitmqctl set_policy my-pol "^one-meg$" '{"max-length-bytes":1048576}' --apply-to queues
在官方文档中查看Queue Length Limit。