RabbitMQ的消息确认机制是怎么工作的?

RabbitMQ的消息确认机制主要是用于确保消息的可靠传递,防止消息丢失

通过发布确认消费者确认来实现。

发布确认

当生产者发送消息到RabbitMQ时,可以选择开启发布确认模式,当RabbitMQ成功将消息入队/持久化之后,会发送一个ACK回复生产者,告知消息成功到达队列;

仅当消息处理失败时会返回NACK。

如果生产者在合理的时间内没有收到ACK或者NACK,则可以重发消息

消费者确认

消费者在处理完一条消息之后,必须发送一个ACK给RabbitMQ,告知RabbitMQ该消息已经处理完成,RabbitMQ在收到ACK之后会将该消息从队列中永久删除。

如果RabbitMQ在收到消费者ACK之前检测到消费者已经断开连接,则认为该消息没有被成功处理,RabbitMQ会重新发送给其他消费者消费

相关推荐
梅头脑9 小时前
交易跨10个库、日均千万订单——选错一次分布式事务方案,加班三个月重写
java·分布式
霸道流氓气质11 小时前
分布式系统中接口时序不确定性处理
java·开发语言·分布式
YOU OU13 小时前
Redis分布式锁
数据库·redis·分布式
小罗水15 小时前
第9章 RabbitMQ 消息队列与索引任务
分布式·rabbitmq
naierfengdian16 小时前
分布式风力发电机机抗风扰、稳发电结构设计技术解析
分布式·能源
wWYy.1 天前
基于Raft分布式Kv存储:sendRequestVote
分布式
笨鸟先飞的橘猫1 天前
游戏后端分布式学习——消息队列在游戏的用法
分布式·学习·游戏
Wang's Blog1 天前
Go-Zero项目开发40: 基于Jaeger的分布式链路跟踪实战
开发语言·分布式·golang
wWYy.1 天前
基于Raft分布式Kv存储:sendAppendEntries
分布式
范什么特西2 天前
关于kafka
分布式·kafka