Rabbitmq的重试策略

上一篇 << 下一篇 >>>Rabbitmq通过死信队列实现过期监听


何时需要重试?

a.代码问题抛出数据异常,不需要重试-----可记录好日志写文件或数据库,新版本发布后人工补偿
b.消费者获取消息后,调用第三方接口,但是调用第三方接口失败,则需要重试------可配置最多5次,每次间隔3s,重试多次还失败的情况下,写到死信队列或数据库表中后期做人工补偿。

如何发起重试

1.消费者方法报错
2.手动ack 告诉消费失败

重试相关配置

spring:
  rabbitmq:
    ####连接地址
    host: 10.211.55.16
    ####端口号
    port: 5672
    ####账号
    username: jarye
    ####密码
    password: 123456
    ### 地址
    virtual-host: /mytest1205
    ###开启重试监听,设置重试5次,间隔3s
    listener:
      simple:
        retry:
          enabled: true
          max-attempts: 5
          max-interval: 3000ms

推荐阅读:
<<<消息中间件的核心思想
<<<消息中间件常见问题汇总
<<<基于Netty简单手写消息中间件思路
<<<消息队列常用名词与中间件对比
<< << << << << << << << << << << << << << << << << << << << << << << << << << << << << << << <<

你可能感兴趣的:(Rabbitmq的重试策略)