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

RabbitMQ高级特性-发送方确认

对于发送方发送消息到RabbitMQ的可靠性机制

引入:在持久化的消息正确存⼊RabbitMQ之后,还需要有⼀段时间(虽然很短,但是不可忽视)才能存⼊磁盘中.RabbitMQ并不会为每条消息都进⾏同步存盘(调⽤内核的fsync⽅法)的处理, 可能仅仅保存到操作系统缓存之中⽽不是物理磁盘之中. 如果在这段时间内RabbitMQ服务节点发⽣了宕机、重启等异常情况, 消息保存还没来得及落盘, 那么这些消息将会丢失

RabbitMQ为我们提供了两种解决⽅案来实现持久化:
a. 通过事务机制实现
b. 通过发送⽅确认(publisher confirm) 机制实现

事务比较消耗信能,因此通常使用发送⽅确认(publisher confirm) 机制实现,RabbitMQ为我们提供了两个⽅式来控制消息的可靠性投递
1. confirm确认模式
2. return退回模式

注:这两个模式是不互斥的,可以同时存在

1、producer->Broker  (发送方确认)

            1)producer->exchange : confirm 模式

            2)exchange->queue : return 模式

            3)队列溢出:死信等

2、Broker  (持久化(交换机、队列、消息))

3、Broker->Consumer

         自动确认:消息送达到consumer时,消息会自动删除

 


http://www.kler.cn/news/327751.html

相关文章:

  • 使用scroll-behavior属性实现页面平滑滚动的几个问题
  • 力扣经典笔试题 最小K个数 小根堆 大根堆 快速排序 一题多解
  • C语言初识(二)
  • Springboot项目实现easyExcel批量导入到数据库
  • Python人工智能使用OpenCV进行图片形状的中心检测
  • linux 查看端口占用
  • 利用SpringBoot构建高效社区医院平台
  • 大数据埋点方案Openresty+Nginx+Lua踩坑日志
  • QSpice (9) --结合Python仿真
  • PostgreSQL是否有等待事件
  • Android常用C++特性之std::abs
  • Clickhouse分布式表初体验
  • python的内存管理机制
  • DOM元素导出图片与PDF:多种方案对比与实现
  • 数据集-目标检测系列-豹子 猎豹 检测数据集 leopard>> DataBall
  • 线程池:线程池的实现 | 日志
  • 普通人如何在未来市场中寻找赚钱机会?
  • 深信服2025届全球校招研发笔试-C卷(AK)
  • UE4/UE5开发资源
  • pyqt QGraphicsView 以鼠标为中心进行缩放
  • uniapp中实现评分组件,多用于购买商品后,对商品进行评价等场景
  • 数据结构-AC自动机
  • python 实现矩阵的Schur complement舒尔补算法
  • Goland无法使用debug的修复
  • 【源码+文档+调试讲解】无人超市系统python
  • 【Docker】02-数据卷
  • 【研1深度学习】《神经网络和深度学习》阅读笔记(记录中......
  • 博弈论(学习笔记)
  • RK3568 android11 适配鼎桥MT5710-CN 5G模块
  • 墙绘产品在线展示:SpringBoot技术的应用