RabbitMQ 如何防止重复消费

RabbitMQ的消息消费是有确认机制的,正常情况下,消费者在消息消费成功后,会发送一个确认消息,消息队列接收到之后,就会将该消息从消息队列中删除,下次也就不会再投递了。

但是如果存在网络延迟的问题,导致确认消息没有发送到消息队列,导致消息重投了,是有可能,所以当我们使用MQ的时候,消费者端自己也需要做好幂等控制来防止消息被重复消费。

一般来说,处理这种幂等问题就是我们提过无数次的 一锁,二判,三更新

也就是说我们在发送消息是需要生成一个唯一的标准并且把它放到消息体中,根据这个标识就可以判断两次消息是不是同一条了。这样我们在消费者端,接收到消息以后,只需要解析出消息体中的这个唯一标识,就可以通过 一锁 二判 三更新的方式来判断是否消费成功过了。

相关推荐
潇凝子潇13 小时前
Kafka 实现集群安全认证与加密机制
分布式·安全·kafka
潇凝子潇13 小时前
Apache Kafka 跨集群复制实现方案
分布式·kafka·apache
Li_76953214 小时前
Redis 进阶(八)—— 分布式锁
数据库·redis·分布式
Justice Young14 小时前
Flume笔记:Flume的基本介绍和使用
大数据·分布式·flume
xwz小王子14 小时前
AFM | 分布式光纤感知赋能水下智能柔顺抓取
分布式·光纤感知
前端不太难1 天前
从本地到多端:HarmonyOS 分布式数据管理实战详解
分布式·状态模式·harmonyos
Yeats_Liao1 天前
MindSpore开发之路(二十五):融入开源:如何为MindSpore社区贡献力量
人工智能·分布式·深度学习·机器学习·华为·开源
我爱娃哈哈1 天前
SpringBoot + Seata + Nacos:分布式事务落地实战,订单-库存一致性全解析
spring boot·分布式·后端
掘金-我是哪吒1 天前
Kafka配套的Zookeeper启动脚本
分布式·zookeeper·云原生·kafka
超级种码1 天前
Kafka四部曲之一:Kafka的核心概念
分布式·kafka