最近公司某个行情推送的rabbitmq服务器由于客户端异常导致rabbitmq队列中消息快速堆积,还曾导致过内存积压导致rabbitmq客户端被block的情况。考虑到行情信息从业务上来说可以丢失部分消息,并不要求完全可靠。为了尽量避免某个客户端未及时消费影响整个mq,故考虑对某些队列中的消息设置TTL。如下:
rabbitmqctl set_policy TTL "ttl.*" ‘{"message-ttl":60000}‘ --apply-to queues具体可查看官方文档https://www.rabbitmq.com/ttl.html。所有已经存在的消息不受影响,所有新发布的消息如果在发布到queue之后60s内没有被客户端消费,就会自动过期并被erlang vm回收。
时间: 2024-11-23 13:29:09