没有合适的资源?快使用搜索试试~ 我知道了~
PAcee1#myNote#04.RabbitMQ高级-消息100%投递成功方案1
需积分: 0 0 下载量 134 浏览量
2022-07-25
14:26:13
上传
评论
收藏 5KB MD 举报
温馨提示
1.消息入库,比如订单场景,当我们创建一条订单,需要发送消息给优惠券模块,来减少用户使用的优惠券 2.如果消息在第一步成功入库 3.MQ收到消息后返回结果响应(
资源推荐
资源详情
资源评论
## 什么是生产端的可靠性投递?
- 保证消息成功发出
- 保障MQ节点成功接收
- 发送端收到MQ节点的确认应答
- **完善的消息补偿机制**
既然是百分百投递成功,那么只做前三点是肯定不够的。
有些时候,可能消息投递的时候就失败了,或者消息成功投递,在MQ节点应答时因为网络闪断,导致生产端没有接收到应答,等等一些特殊情况。
所以,我们的重点就在于第四点,消息补偿机制
## 互联网大厂的解决方案
具体的解决方案有两种
1. **消息落库,对消息状态进行打标**
2. **消息延迟投递,做二次确认,回调检查**
具体使用哪种,还需进一步跟进业务场景选择。
下面我们详细介绍一下这两种方案,并对其做出总结。
### 消息落库
消息落库顾名思义,将消息也保存到数据库中,**以状态字段来判断**是否成功投递,如果没有,再做出一些补偿机制。通过下图慢慢分析:
![img](../image/14795543-068e2071fe49c204.webp)
1.消息入库,比如订单场景,当我们创建一条订单,需要发送消息给优惠券模块,来减少用户使用的优惠券。这时就需要将消息保存到数据库中,并包含**消息状态**,比如初始化为0,代表消息成功创建正在投递。
2.如果消息在第一步成功入库。那么消息投递给MQ,如果没有成功入库,需要进行**快速失败机制**
3.MQ收到消息后返回结果响应(`confirm`)给生产者
4.生产端有一个`Con
点击阅读更多
资源评论
yiyi分析亲密关系
- 粉丝: 32
- 资源: 321
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- CocosCreator开发视频教程含源码简易塔防开发3.61G
- 对数据集进行二分类,有数据集和源码以及模型,二分类是识别猫和不是猫的情况,可做毕业设计
- CocosCreator开发视频教程含源码多段线拖动轨迹物体2G
- Delphi 学习教程(从入门到实践)
- 基于Node.js+Vue.js Fetch API 爬虫的不要害羞纯静态图片网站源码.zip
- Cocos2d-x教程视频使用Eclipse在Ubuntu下搭建Cocos2d-x 3集成开发环境
- java实现飞机大战的游戏
- 安捷伦的噪声系数基础应用笔记
- MISRA-C工业标准的C编程规范(中文版).pdf
- Cocos2d-x教程视频粒子系统初级应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功