RabbitMQ unacked,无报错,重启后正常Ack
问题描述:
rabbitmq 开起了 qos 和 ack,5个消费者,单次预取20条,消费出现异常后自动进入队列重新执行(一些持久化任务)。
任务投递和消费执行正常,但是每当最后队列中剩余少量消息时,就会出现 unacked 无法确认的情况,日志无报错信息,内存占用正常(50%左右),此时把消费端重启后就正常消费及ack了。你说它是因为nack后死循环吧,却没有错误信息,很是奇怪,各位有无遇到此类情况,求解
答
大概是有没有ack的消息,比如某个分支ack了,另外的没有ack
答
一定要仔细审视代码,此类奇怪的问题如无意外基本都是自身疏忽导致