MQ 重试队列注意事项
Posted wenniuwuren
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MQ 重试队列注意事项相关的知识,希望对你有一定的参考价值。
不要过度依赖消息队列的重试来保证最终消费成功
举个例子,我们的消费消息队列的应用A依赖于应用B的某个接口,但是双十一流量太大,应用B的接口QPS不足,导致RPC超时返回(即本条消息消费失败),此条消息会进入重试队列。
进入重试队列不是万能的
问题一:RocketMQ重试16次还是不成功就会认为消息消费不了,丢进死信队列
问题二:RocketMQ重试队列数量少,可能100个正常的queue才1个重试queue,那么问题来了,要是本来100台机器应用A,每台消费一个正常queue,但是进入重试queue,只有1台机器能消费,1台重试queue的堆积能力和消费能力是不可能接受的
所以正确的架构解决方案是对应用B进行限流,让消息堆积在正常queue而不是堆积进重试queue
以上是关于MQ 重试队列注意事项的主要内容,如果未能解决你的问题,请参考以下文章