rocketMQ之十五 消息重试

本文详细介绍了RocketMQ的消息重试机制,包括顺序消息和无序消息的重试策略。顺序消息在消费失败后会1秒重试一次,可能导致应用阻塞;无序消息可通过设置返回状态触发重试,集群消费支持而广播方式不支持。RocketMQ默认允许每条消息最多重试16次,超过此次数不再投递。消费者可以自定义最大重试次数,超过16次则间隔2小时重试一次。此外,消费者可以获取消息的重试次数。
摘要由CSDN通过智能技术生成

消息重试

顺序消息的重试

  • 对于顺序消息的重试,消费者消费失败之后,mq会不断进行重试(1s一次),这是应用会被阻塞,所以要即时监控并处理消费失败的情况

无序消息的重试

  • 当消费者消费消息失败时,可以通过设置返回状态达到消息重试的结果,
  • 如果是集群消费方式生效,广播方式不提供重试特性在这里插入图片描述
  • 重试次数
    • 消息队列默认允许没条消息最多重试16次,如果16次后仍然失败,消息将不再投递,
    • 无论重试多少次,Message ID不会改变
  • 配置方式
    • 集群消费方式下,消息消费失败后希望消息重试,需要在消息监听器接口的实现明确进行配置
      • 返回Action.ReconsumeLater
      • 返回null
      • 抛出异常
   public class MessageListenerImpl implements MessageListener {
   
       @Override
       public Action consume(Message message, ConsumeContext context) {
           //方法 3:消息处理逻辑抛出异常,消息将重试
           doConsumeMessage(message);
           //方式 1:返回 Action.ReconsumeLater,消息将重试
           return Actio
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值