当前位置: 首页 > news >正文

RabbitMQ消息的重复消费问题如何

导致消息重复消费的场景

首先消费者有消息确认机制,来通知MQ说消费者已经消费消息了。

假设现在消费者已经处理完消息,但是还没有来得及给MQ发送确认,此时网络抖动或消费者挂了,等网络恢复或消费者重启后,因为之前MQ没有收到确认,所以这个消息还在MQ中,又因为设置了重试机制,所以消费者还会重新消费消息。

解决方案:

  • 给每条消息设置一个全局唯一的id,比如支付id、订单id、文章id,当消费者接收到消息时,去校验这个id是否存在,比如根据订单id去表中查询,如果不存在,则正常接收消息处理消息;如果已经存在,就说明消息已经被消费过,不需要再消费了
  • 幂等方案:【分布式锁、数据库锁(悲观锁、乐观锁)】,加锁后性能会受影响

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ARM32开发——(十四)GD32F4_DMA功能查询
  • 分布式设计原理——CAP原则
  • 【C#】【EXCEL】Bumblebee/Classes/ExColumn.cs
  • 【CF】1422D-Returning Home 题解
  • SpringBoot实战:Spring Boot项目使用SM4国密加密算法
  • 【Qt】多元素控件QTreeWidget
  • 【ShuQiHere】用类来实现LSTM:让你的模型拥有更强的记忆力
  • 区块链知识体系fisco-bcos实战
  • Nature同款富集分析结果条形图叠加基因
  • ros发布图像
  • nacos配置持久化到Mysql数据库
  • Gartner发布2024年应用安全成熟度曲线:26项应用安全最新技术发展及应用状况和趋势
  • 深入解析Python的Pandas库:数据分析的利器(二)
  • 解决STM32使用J-Link可以擦除和读取但是无法烧录问题
  • Linux文件编程(进阶)
  • 「译」Node.js Streams 基础
  • 4个实用的微服务测试策略
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • happypack两次报错的问题
  • js
  • laravel5.5 视图共享数据
  • opencv python Meanshift 和 Camshift
  • SOFAMosn配置模型
  • Vue UI框架库开发介绍
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 时间复杂度与空间复杂度分析
  • 使用Gradle第一次构建Java程序
  • 提醒我喝水chrome插件开发指南
  • 通过npm或yarn自动生成vue组件
  • 怎么把视频里的音乐提取出来
  • 转载:[译] 内容加速黑科技趣谈
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • ​2020 年大前端技术趋势解读
  • ​Python 3 新特性:类型注解
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • # 计算机视觉入门
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (function(){})()的分步解析
  • (Git) gitignore基础使用
  • (Java)【深基9.例1】选举学生会
  • (poj1.3.2)1791(构造法模拟)
  • (第一天)包装对象、作用域、创建对象
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (论文阅读40-45)图像描述1
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转) 深度模型优化性能 调参
  • ****Linux下Mysql的安装和配置