消费端异常怎么处理

消费端确认机制

RabbitMQ默认自动确认(ACK)。但是在消费端如果遇到异常, 发送端和RabbitMQ是不知道的。(如果很重要的信息,比如订单,随便丢弃,那肯定出大事儿)
所以RabbitMQ提供了消费端确认机制,确认消息可以被正确处理。如果我们不用代码告诉 RabbitMQ已经签收,那么这条消息就会在RabbitMQ里是未签收状态, 如果这条消息一直未被签收,那么消费端重启后,这条消息会被变成ready状态, 还会被其他消费端进行消费。

单条消息手动ACK multiple=false
多条消息手动ACK multiple=true

多条消息手动ACK,如果有问题,不好处理。

推荐使用:单条消息手动ACK

如果消费端消费失败,可以重回队列,但是,反复从rabbitMQ和消费端,循环消费消息,但是一直不成功
所以不建议使用重回队列这个功能,建议使用报警机制。

RabbitMQ该如何学习

计算机学科是一个要求动手能力很强的学科,通过实战,用实际项目,把知识牢牢掌握住。

《Go语言+RabbitMQ实战课》-课程目录海报 《Go+RabbitMQ课程》-优惠券
添加微信 公众号更多内容
wechat gzh