为了账号安全,请及时绑定邮箱和手机立即绑定

RabbitMQ 业务失败产生的Unacked该如何处理?

RabbitMQ 业务失败产生的Unacked该如何处理?

慕标5832272 2018-08-14 10:09:54
代码第44行模拟了业务执行失败的场景,这条消息不会ack,在Queues中一直处于Unacked状态,直到我关闭控制台程序,它才会自动将所有的Unacked的消息全部切换成Ready(虽然不知道它是怎么实现的),从而保证,下一次重启消费端时可继续尝试消费那些"失败"的消息。  那么问题来了,假如我实际业务中,消费端不重启,那么那些Unacked的消息就不会变成Ready状态,就得不到重新处理了,我应该怎么处理这些Unacked的消息?  是不是应该在业务执行失败时,把这条消息存储到另一个队列Q2(专门处理业务失败的消息)同时ack当前队列(确保该消息不同时存在于当前队列和Q2队列,但是这里无法保证)。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 5291 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信