【spring cloud】stream集成rabbitMQ实现本地OR多节点重试

消息没有消费成功咋办?重试?这里介绍下本地重试和多节点的范例。

引入依赖、创建topic等工作就不再赘述,可以参考上篇文章:【spring cloud】stream集成rabbitMQ,实现Topic订阅发布

本地重试

配置如下:

#异常消息(单机版)
spring.cloud.stream.bindings.error-consumer.destination=error-out-topic
spring.cloud.stream.bindings.error-producer.destination=error-out-topic
#重试次数(本机重试,不发回mq)(次数等于1相当于不重试)
spring.cloud.stream.bindings.error-consumer.consumer.max-attempts=2

只需要指定重试次数,即可开启本地重试。超过重试次数,还是会把异常抛出来。

多节点重试

所谓多节点重试,其实是消息的重新入列(Requeue),再次从队列到消费者的动作。

配置如下:

#异常消息(requeue重试)
spring.cloud.stream.bindings.requeue-consumer.destination=requeue-topic
spring.cloud.stream.bindings.requeue-producer.destination=requeue-topic
#仅对当前requeue-consumer,开启requeue
spring.cloud.stream.rabbit.bindings.requeue-consumer.consumer.requeueRejected=true
#默认全局开启requeue
spring.rabbitmq.listener.defaul-requeue-rejected=true
#和requeue属性冲突,指定成1可避免冲突(1表示不本机重试)
spring.cloud.stream.bindings.requeue-consumer.consumer.max-attempts=1

需要注意的是,要把本地重试的属性置为1(默认不为1)以避免配置冲突。

spring.cloud.stream.bindings.requeue-consumer.consumer.max-attempts=1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值