前言:
由于网络延迟、服务宕机等不确定因素,在使用 RocketMQ 时可能会出现消息发送失败和消息消费失败的情况,RocketMQ 研发团队也考虑到了这个问题,RocketMQ 内部使用了生产者和消费者的消息重试机制,来防止消息丢失问题,本篇我们来分享一下关于 RocketMQ 的消息重试机制。
RocketMQ 系列文章传送门
Spring Boot 整合 RocketMQ 之定时/延时消息
Producer 消息重试
生产者消息重试是指 Producer 往 Broker 上发送消息时候没有成功,没有收到 Broker 的 ACK 响应,此时 RocketMQ 会进行自动重试,对于同步、异步消息 RocketQM 默认设置的是重试两次,想要修改默认重试次数,在配置文件修改配置即可,如下:
#同步发送消息失败重试次数 默认2
rocketmq.producer.retry-times-when-send-failed=2
#异步发送消息失败重试次数 默认2
rocketmq.producer.retry-times