SpringBoot 消息队列RabbitMQ消息的可靠性 配置连接重试 生产者重连
介绍
有的时候由于网络波动,可能会出现客户端连接MQ失败的情况。通过配置我们可以开启连接失败后的重连机制。
注意事项
当网络不稳定的时候,利用重试机制可以有效提高消息发送的成功率。不过SpringAMQP提供的重试机制是阻塞式的重试,也就是说多次重试等待的过程中,当前线程是被阻塞的,会影响业务性能。如果对于业务性能有要求,建议禁用重试机制。如果一定要使用,请合理配置等待时长和重试次数,当然也可以考虑使用异步线程来执行发送消息的代码。
配置项
spring:
rabbitmq:
host: 118.99.13.219
port: 5673 #通信端口
virtual-host: /csdn #虚拟主机名称
username: cet
password: 123456aa
connection-timeout: 1s #连接的超时时间
template:
retry:
enabled: true #开启超时重试
initial-interval: 1000ms #连接失败后等几秒在尝试连接
multiplier: 2 #失败后下次等待的倍数 initial-interval*multiplier
max-attempts: 3 #最大重试次数