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

RabbitMQ面经 手敲浓缩版

保证可靠性

生产者

本地事务完成和消息发送同时完成 通过事务消息完成

重写confirm在里面做逻辑处理 确保发送成功(不成功就放入到重试队列)

MQ

打开持久化确保消息不会丢失

消费者

改成手动回应

不重复消费

生产者

保证不重复发送消息

消费者

确保它不重复消费 把消费过的消息存入redis

(把消息中的多个字段进行组合加密得到字符串,如果能在缓存中取到值表示已消费)

顺序消费

传统做法:用单一的消费者,就能确保消息按照顺序消费

缺点:并发度较高的时候,效率会很低

(顺序消费和多线程本身就是矛盾的关系,并发多线程的意义就是因为不在乎顺序,所以才变成多线程)

解决方法:将需要保证顺序的消息放在一块,进行分组然后由单一的消费者消费

将需要保证顺序的放在一组,然后用同一个work进行处理

延迟消息

死信

缺点:需要过期时间一致

如果时间不一致 (例如: 消息A 5分钟过期 消息B 10分钟过期)

另一种方式 :本地库存然后通过轮询重新发送一次信息

缺点:性能上有损耗 但是更加灵活

消息堆积

原因

消费者消费的慢

消费出现问题导致nack队列太多

解决

增加消费者

消费过程改用异步或者多线程

‘将当前业务的topic改成新的topic,然后新增多几个消费者在这新的topic上,保证后续业务的正常执行,前面堆积的这些单独开一些消费者在这里消费

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • iOS 开发中上传 IPA 文件的方法(无需 Mac 电脑
  • 2014最新AI智能系统ChatGPT网站源码+Midjourney绘画网站源码+搭建部署教程文档
  • 【嵌入式开发 Linux 常用命令系列 4.3 -- git add 不 add untracked file】
  • Zookeeper脑裂解决方案
  • 面试题:MySQL 优化篇
  • 达梦备份与恢复
  • vue3中封装table表格
  • git提交代码时报错,提不了
  • 【Linux进阶之路】地址篇
  • Java集合体系面试题
  • 书生·浦语大模型-第三节课笔记/作业
  • ICLR24_OUT-OF-DISTRIBUTION DETECTION WITH NEGATIVE PROMPTS
  • Nextjs14 大优化!性能提升50%!
  • 【强化学习的数学原理-赵世钰】课程笔记(二)贝尔曼公式
  • 针孔相机、鱼眼相机、全景相机
  • 【Leetcode】101. 对称二叉树
  • 0基础学习移动端适配
  • HomeBrew常规使用教程
  • JavaScript学习总结——原型
  • JAVA并发编程--1.基础概念
  • Linux Process Manage
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • underscore源码剖析之整体架构
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 从tcpdump抓包看TCP/IP协议
  • 浮现式设计
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 批量截取pdf文件
  • 前嗅ForeSpider采集配置界面介绍
  • 微信小程序设置上一页数据
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #vue3 实现前端下载excel文件模板功能
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (自适应手机端)行业协会机构网站模板
  • .gitignore不生效的解决方案
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .Net FrameWork总结
  • .NET Reactor简单使用教程
  • .net 验证控件和javaScript的冲突问题
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .net开发引用程序集提示没有强名称的解决办法
  • .NET连接MongoDB数据库实例教程
  • .NET面试题(二)