tongchenkeji 发表于:2023-3-27 10:19:150次点击 已关注取消关注 关注 私信 rocketmq的死信队列的消息不能消费的吗?直接监听死信topic可以消费吗?[阿里云消息队列MQ] 暂停朗读为您朗读 rocketmq的死信队列的消息不能 消费的吗?直接监听死信topic可以消费吗? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 消息队列 MQ# RocketMQ973# 云消息队列 MQ1430# 消息中间件1371
爱回答的三好学生AM 2023-11-28 0:13:18 1 你可以参考下: rocketmq消费有三种阶段: 第一阶段是正常消费, 如果失败了进入重试。 第二阶段是重试, 重试算是第一阶段的补偿机制,做错了事情有悔改的机会嘛。 重试失败进入第三阶段死信。如果直接消费了死信, 就会有死信失败了如何补偿的问题,这就进入无限迭代了, 这种情况没有意义 一般的, 用户在正常消费和重试消费失败的时候,应该打日志或者由业务决定的操作, 不是到死信了才做, 死信的时候做已经晚了。此回答整理自钉群“群2-Apache RocketMQ 中国开发者 钉钉群”
牧羊吖AM 2023-11-28 0:13:18 2 RocketMQ 的死信队列中的消息是可以被消费的。只需要创建一个消费者来监听死信队列即可消费死信消息。死信队列是一个普通的消息队列,只不过存储的是发送失败或超时的消息或者被消费失败的消息。 监听死信队列和监听普通消息队列的方式是一样的,只需要订阅死信队列的 Topic 就可以收到死信消息了。当然,需要注意的是,由于死信队列存储的是失败的消息,因此可能需要对消息进行一些特殊处理,比如重发或者手动处理等。
你可以参考下: rocketmq消费有三种阶段: 第一阶段是正常消费, 如果失败了进入重试。 第二阶段是重试, 重试算是第一阶段的补偿机制,做错了事情有悔改的机会嘛。 重试失败进入第三阶段死信。如果直接消费了死信, 就会有死信失败了如何补偿的问题,这就进入无限迭代了, 这种情况没有意义
一般的, 用户在正常消费和重试消费失败的时候,应该打日志或者由业务决定的操作, 不是到死信了才做, 死信的时候做已经晚了。此回答整理自钉群“群2-Apache RocketMQ 中国开发者 钉钉群”
RocketMQ 的死信队列中的消息是可以被消费的。只需要创建一个消费者来监听死信队列即可消费死信消息。死信队列是一个普通的消息队列,只不过存储的是发送失败或超时的消息或者被消费失败的消息。
监听死信队列和监听普通消息队列的方式是一样的,只需要订阅死信队列的 Topic 就可以收到死信消息了。当然,需要注意的是,由于死信队列存储的是失败的消息,因此可能需要对消息进行一些特殊处理,比如重发或者手动处理等。