rabbitmq消费的问题

那尔撒斯 507 2018-03-09

rabbitmq的消息消费以后,如果消费者掉线或者失去联系,那么消息会放回队列头部,被consumer重复消费,这样带来一个严重的后果,如果程序出现问题,或者特定的数据出发了程序的bug,那么这个有问题的数据将会反复被消费,而导致后续的消息不能正常消费,打个形象点的比喻,“一颗老鼠屎搅坏一锅汤”,之前我自己设计的redis队列,刻意避免了这个问题,失败的消息会放到队尾,且如果重复消费三次则会进入死信队列。rabbitmq通过一些技巧,可以避免刚才说的问题,建议参考下面这篇文章,可能需要科学上网和英语阅读能力,稍后有空我准备把这篇文章翻译一遍
https://blog.forma-pro.com/rabbitmq-redelivery-pitfalls-440e0347f4e0