rabbitmq消息确认机制

本文介绍了RabbitMQ的消息确认机制,包括Confirm和Return两种状态。Confirm表示消息成功送达并被Broker接收,Nack则表示消息被拒收。Return表示消息虽被接收但无法正确投递到队列。在SpringBoot中,可以通过设置confirmCallback和returnCallback来监听消息状态,确保消息正确发送。同时,文中展示了如何处理对象消息的发送与监听。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是消息确认?

rabbitMq在传递消息过程中充当了代理人的角色,这个代理人就是broker,对于生产者(producer)来说,怎么知道消息被成功投递到了broker呢?

rabbitmq提供了消息监听器,即listener来接收消息的投递状态 —— 这个listener指的是producer端的,而消息确认的确认涉及到两种状态,confirm和return

总结下来就是,消息从producer发送到broker之后listener收到的状态

Confirm 与 Return

confirm 代表producer将消息送到broker时产生的状态,后续可能会出现两种状态,
—— ack ,表示消息成功送达broker并被broker接收
—— nack,broker拒收消息,原因很多种,比如 队列已满,消息限流,IO异常等

Return 代表消息被broker接收(ack)后,但是没有找到合适的队列、或者正确的routingkey等进行消息的投递而产生的状态,再这样的情况下,消息最终会return给producer,这种情况下的消息也叫死信。

注意的是,以上两种状态只针对producer,即producer和broker之间消息的状态,和consumer端是否消费消息无关

Confirm 与 Return的使用

在rabbitmq中,Confi

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码农叔叔

谢谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值