开发者社区> 问答> 正文

为什么rocketmq消息失败后重新消费次数超过了16次

为什么rocketmq消息失败后重新消费次数超过了16次

展开
收起
1538936062373540 2020-03-10 13:45:52 4446 0
2 条回答
写回答
取消 提交回答
  • 这是RocketMQ的消费重试策略,如果16次还搞不定,那么会进入死信队列。 可以在控制台查看死信队列,并重新消费

    2020-03-12 19:27:53
    赞同 展开评论 打赏
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    由于有些原因导致Consumer端长时间的无法正常消费从Broker端Pull过来的业务消息,为了确保消息不会被无故的丢弃,那么超过配置的“最大重试消费次数”后就会移入到这个死信队列中。在RocketMQ中,SubscriptionGroupConfig配置常量默认地设置了两个参数,一个是retryQueueNums为1(重试队列数量为1个),另外一个是retryMaxTimes为16(最大重试消费的次数为16次)。Broker端通过校验判断,如果超过了最大重试消费次数则会将消息移至这里所说的死信队列。这里,RocketMQ会为每个消费组都设置一个Topic命名为“%DLQ%+consumerGroup"的死信队列。一般在实际应用中,移入至死信队列的消息,需要人工干预处理

    2020-03-11 22:07:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
万亿级数据洪峰下的消息引擎——Apache RocketMQ 立即下载
万亿级数据洪峰下的消息引擎-Apache RocketMQ 立即下载
基于RocketMQ Connect 构建全新数据流转处理平 立即下载