论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
大数据
›
数据仓库与分析
›
rabbitMQ 消息次序性、消息幂等性、消息不丢失、终极同 ...
rabbitMQ 消息次序性、消息幂等性、消息不丢失、终极同等性、赔偿机制、消 ...
老婆出轨
论坛元老
|
2025-4-9 13:09:58
|
显示全部楼层
|
阅读模式
楼主
主题
1890
|
帖子
1890
|
积分
5670
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
一、消息次序性
消息队列中的多少消息假如是对同一个数据进行操纵,这些操纵具有前后的关系,必须要按前后的次序实行,否则就会造成数据非常。
举例:
比如通过mysql binlog进行两个数据库的数据同步,由于对数据库的数据操纵是具有次序性的,假如操纵次序搞反,就会造成不可估量的错误。比如数据库对一条数据依次进行了 插入->更新->删除操纵,这个次序必须是这样,假如在同步过程中,消息的次序酿成了删除->插入->更新,那么原本应该被删除的数据,就没有被删除,造成数据的不同等标题。
RabbitMQ的消息次序标题,需要分三个环节看待,发送消息的次序、队列中消息的次序、消耗消息的次序。
发送消息的次序
消息发送端的次序,大部分业务不做要求,谁先发消息无所谓,假如遇到业务一定要发送消息也确保次序,那意味着,只能全局加锁一个个的操纵,一个个的发消息,不能并发发送消息。
队列中消息的次序
RabbitMQ中,消息终极会生存在队列中,在同一个队列中,消息是次序的,先进先出原则,这个由Rabbitmq包管,通常也不需要
开发
关心。
提示:差异队列中的消息次序,是没有包管的,比方:进地铁站的时间,排了三个队伍,差异队伍之间的,不能确保谁先进站。
消耗消息的次序
我们说怎样包管消息次序性,通常说的就是消耗者消耗消息的次序,在多个消耗者消耗同一个消息队列的场景,通常是无法包管消息次序的,开篇的示意图已经说明,虽然消息队列的消息是次序的,但是多个消耗者并发消耗消息,获取的消息的速度、实行业务逻辑的速度快慢、实行非常等等原因都会导致消息次序不同等。
比方:消息A、B、C按次序进入队列,消耗者A1拿到消息A、消耗者B1拿到消息B, 结果消耗者B实行速度快,就跑完了,又大概消耗者A1挂了,都会导致消息次序不同等。
生产者 通过 channel 把消息 通过 exchange 路由到对一个的quque 的 过程中,MQ 本身包管消息的有序性,quque 是有序的,在业务上只要包管生产者发送到mq上的消息是有序的,那么MQ ,quque 就能包管生产者发送到消息的有序性;但是生产者包管了消息的有序性并不能包管消耗者消耗到的消息就是有序的这紧张表现在以下两点:
1.一个quque 上有多个consumer,由于每个消耗者处理消息的快慢不一样,因此并不能包管每个consumer都次序消耗消息,包管消息被消耗者次序消耗入库;
2.一个quque上只有一个consumer,但是这个consumer 是多线程异步处理,因此并不能包管这个consumer消耗消息的处理是次序处理;
出现次序错乱的场景
错乱场景一
①一个queue,有多个consumer去消耗,这样就会造成次序的错误,consumer从MQ内里读取数据是有序的,但是每个consumer的实行时间是不固定的,无法包管先读到消息的consumer一定先完成操纵,这样就会出现消息并没有按照次序实行,造成数据次序错误。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
老婆出轨
论坛元老
这个人很懒什么都没写!
楼主热帖
1000套安卓(Android)毕业设计(带论 ...
【Linux学习】网络基础 和 SOCKET套接 ...
在工作中离屏真的不重要吗,代码优化就 ...
设计模式必知必会系列终章
记一次线上问题 → Deadlock 的分析与 ...
牛客SQL刷题第三趴——SQL大厂面试真题 ...
Git + Jenkins 自动化 NGINX 发布简易 ...
MySQL完整版详解
亚马逊云科技Build On-Amazon Neptune ...
SRC基础抓包
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
DevOps与敏捷开发
.Net
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表