将消息发布到 RabbitMQ 时出现 n/w 问题时消息是否丢失?
Is message lost when there's n/w issue while publishing the message to RabbitMQ?
我正在使用 Spring AMQP 将消息发布到 RabbitMQ。考虑一个场景:
1. Java客户端使用amqpTemplate.convertAndSend()
向MQ发送消息
2. 但是 RabbitMQ 挂了或者有一些 n/w 问题
这种情况下消息会丢失?要么
有什么方法可以持久化并重试吗?
我也检查了发布-确认模型,但据我了解,最终我们必须通过自己的编码来处理 nack 消息。
RabbitTemplate
支持添加一个 RetryTemplate
,它可以根据您想要的任何重试语义进行配置。它将处理代理关闭时的情况。
您可以使用交易或发布者确认来确保兔子保护消息。
我正在使用 Spring AMQP 将消息发布到 RabbitMQ。考虑一个场景:
1. Java客户端使用amqpTemplate.convertAndSend()
向MQ发送消息
2. 但是 RabbitMQ 挂了或者有一些 n/w 问题
这种情况下消息会丢失?要么 有什么方法可以持久化并重试吗?
我也检查了发布-确认模型,但据我了解,最终我们必须通过自己的编码来处理 nack 消息。
RabbitTemplate
支持添加一个 RetryTemplate
,它可以根据您想要的任何重试语义进行配置。它将处理代理关闭时的情况。
您可以使用交易或发布者确认来确保兔子保护消息。