最新要闻
- 每日精选:当AI开始制药:研发周期可缩短一半,仍无任何新药面世
- 老司机注意!昆明警方紧盯酒驾醉驾等严重交通违法行为
- 6989元起 华硕灵耀13 2023深湖蓝配色上架:2.8K OLED屏
- 世界观热点:业务能力超强!两只边牧协同驱赶数百只羊:无一走散
- 笔记本为何还没充满就不再充电了?原因揭开|微动态
- 曾拒绝生产SUV 法拉利:并不在乎自动驾驶
- 一代回忆!快播公司破产注销
- 直播卖酒用“茅台酒厂”误导消费者,北京福气连连公司被罚30万_今日快讯
- 持球还得练练!杰伦抢七战出现8失误 NBA历史第二多 即时
- 预算不够免签来凑!米兰开启免签大法,夏窗欲网罗多名自由球员
- 史莱克七怪神装公布,小舞二次发育,宁荣荣最美,小奥烟熏妆差评-当前热门
- 环球消息!演唱会门票秒罄!黄牛党捞钱术升级
- 速看:日本专家三年研究:中学生入学得到手机脑力直接停滞在小学
- 天天消息!网友评新一代LCD神机Redmi Note 12T Pro:卢伟冰焊门很准
- 省“春蕾计划+我的书房”项目在盐城东台启动 热文
- 环球资讯:从华为离职创业的天才少年刚拿了百度投资:估值被曝已超独角兽
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
详解RocketMQ 顺序消费机制 快看点
摘要:顺序消息是指对于一个指定的 Topic ,消息严格按照先进先出(FIFO)的原则进行消息发布和消费,即先发布的消息先消费,后发布的消息后消费。
本文分享自华为云社区《RocketMQ 顺序消费机制》,作者: 勇哥java实战分享 。
顺序消息是指对于一个指定的 Topic ,消息严格按照先进先出(FIFO)的原则进行消息发布和消费,即先发布的消息先消费,后发布的消息后消费。
(资料图片仅供参考)
顺序消息分为分区顺序消息和全局顺序消息。
1、分区顺序消息
对于指定的一个 Topic ,所有消息根据 Sharding Key 进行区块分区,同一个分区内的消息按照严格的先进先出(FIFO)原则进行发布和消费。同一分区内的消息保证顺序,不同分区之间的消息顺序不做要求。
- 适用场景:适用于性能要求高,以 Sharding Key 作为分区字段,在同一个区块中严格地按照先进先出(FIFO)原则进行消息发布和消费的场景。
- 示例:电商的订单创建,以订单 ID 作为 Sharding Key ,那么同一个订单相关的创建订单消息、订单支付消息、订单退款消息、订单物流消息都会按照发布的先后顺序来消费。
2、全局顺序消息
对于指定的一个 Topic ,所有消息按照严格的先入先出(FIFO)的顺序来发布和消费。
- 适用场景:适用于性能要求不高,所有的消息严格按照 FIFO 原则来发布和消费的场景。
- 示例:在证券处理中,以人民币兑换美元为 Topic,在价格相同的情况下,先出价者优先处理,则可以按照 FIFO 的方式发布和消费全局顺序消息。
全局顺序消息实际上是一种特殊的分区顺序消息,即 Topic 中只有一个分区,因此全局顺序和分区顺序的实现原理相同。
因为分区顺序消息有多个分区,所以分区顺序消息比全局顺序消息的并发度和性能更高。
消息的顺序需要由两个阶段保证:
- 消息发送
如上图所示,A1、B1、A2、A3、B2、B3 是订单 A 和订单 B 的消息产生的顺序,业务上要求同一订单的消息保持顺序,例如订单 A 的消息发送和消费都按照 A1、A2、A3 的顺序。
如果是普通消息,订单A 的消息可能会被轮询发送到不同的队列中,不同队列的消息将无法保持顺序,而顺序消息发送时 RocketMQ 支持将 Sharding Key 相同(例如同一订单号)的消息序路由到一个队列中。
- 消息消费
消费者消费消息时,需要保证消息消费顺序和存储顺序一致,最终实现消费顺序和发布顺序的一致。
我们知道负载均衡服务是客户端开始消费的起点。在负载均衡阶段,并发消费和顺序消费并没有什么大的差别,最大的差别在于:向Borker申请锁。
消费者根据分配的队列 messageQueue ,向 Borker 申请锁 ,如果申请成功,则会拉取消息,如果失败,则定时任务每隔20秒会重新尝试。
见上图,顺序消费核心流程如下:
1、组装成消费对象
2、将请求对象提交到消费线程池
和并发消费不同的是,这里的消费请求包含消费快照 processQueue ,消息队列 messageQueue 两个对象,并不对消息列表做任何处理。
3、消费线程内,对消费队列加锁
4、从消费快照中取得待消费的消息列表
消费快照 processQueue 对象里,创建了一个红黑树对象 consumingMsgOrderlyTreeMap 用于临时存储的待消费的消息。
5、执行消息监听器
执行监听器逻辑容易理解,消费快照的消费锁consumeLock的作用是:防止 Rebalance 线程把当前消费的 MessageQueue 对象移除掉。
6、处理消费结果
消费成功时,首先计算需要提交的偏移量,然后更新本地消费进度。
消费失败时,分两种场景:
- 假如已消费次数小于最大重试次数,则将放入对象 consumingMsgOrderlyTreeMap 用例临时存储的待消费的消息,重新加入到消费快照红黑树msgTreeMap中,然后使用定时任务尝试重新消费。
- 假如已消费次数大于等于最大重试次数,则将失败消息发送到 Broker ,Broker 接收到消息后,会加入到死信队列里 , 最后计算需要提交的偏移量,然后更新本地消费进度。
我们做一个关于顺序消费的总结:
- 顺序消费需要由两个阶段消息发送和消息消费协同配合,底层支撑依靠的是 RocketMQ 的存储模型;
- 顺序消费服务启动后,通过三把锁的机制,消息队列 messageQueue 的数据都会被消费者实例单线程的执行消费;
- 假如消费者扩容,消费者重启,或者 Broker 宕机 ,顺序消费也会有一定几率较短时间内乱序,所以消费者的业务逻辑还是要保障幂等。
点击关注,第一时间了解华为云新鲜技术~
关键词:
详解RocketMQ 顺序消费机制 快看点
每日精选:当AI开始制药:研发周期可缩短一半,仍无任何新药面世
【报资讯】每日机构分析:5月30日
老司机注意!昆明警方紧盯酒驾醉驾等严重交通违法行为
6989元起 华硕灵耀13 2023深湖蓝配色上架:2.8K OLED屏
世界观热点:业务能力超强!两只边牧协同驱赶数百只羊:无一走散
笔记本为何还没充满就不再充电了?原因揭开|微动态
曾拒绝生产SUV 法拉利:并不在乎自动驾驶
一代回忆!快播公司破产注销
直播卖酒用“茅台酒厂”误导消费者,北京福气连连公司被罚30万_今日快讯
如何用ReadWriteLock实现一个通用的缓存中心?|环球今热点
速读:13)流程控制语句
一文详解 Sa-Token 中的 SaSession 对象-世界百事通
世界观察:第十二单元 常用API
持球还得练练!杰伦抢七战出现8失误 NBA历史第二多 即时
预算不够免签来凑!米兰开启免签大法,夏窗欲网罗多名自由球员
史莱克七怪神装公布,小舞二次发育,宁荣荣最美,小奥烟熏妆差评-当前热门
环球消息!演唱会门票秒罄!黄牛党捞钱术升级
速看:日本专家三年研究:中学生入学得到手机脑力直接停滞在小学
天天消息!网友评新一代LCD神机Redmi Note 12T Pro:卢伟冰焊门很准
第十一单元 面向对象三:继承与多态_世界热资讯
NTP网络校时服务器 (GPS+北斗+恒温晶振)双系统设计与研究|看点
焦点简讯:[javascript/html] HTML中Location对象详解
省“春蕾计划+我的书房”项目在盐城东台启动 热文
环球资讯:从华为离职创业的天才少年刚拿了百度投资:估值被曝已超独角兽
曾遭霸凌的解说YammerS离世 DOTA2官微回应:深感痛心_全球观天下
每日热议!兄妹四人同时查出肠道肿瘤:1/4肠癌患者受家族因素影响
天玑9300要绝杀:采用4+4全大核架构 性能狙击A17功耗大降
京西产业引导基金签约发布 规模10.1亿元|当前热门
注意防暑!多地高温已超40℃
诚意满满 微星发布7大类PC新品:美与性能兼备 世界速讯
续航128公里 雅迪联手保时捷推出电动摩托车:卖4.5万
世界动态:丰田带头抵触汽车全面电动化 多家日本公司站队支持:不环保、自欺欺人
一脚踏入软绵云朵:361° 游鲸飞标洞洞鞋103元3.69折抄底
热门:易基因:全基因组ChIP-seq分析揭示细菌转录因子PhoB的基因内结合位点|mBio
直播源码平台搭建技术分享之直播短信功能
文档在线预览(三)使用js前端实现word、excel、pdf、ppt 在线预览|世界报资讯
天天看点:用一杯星巴克的钱,训练自己私有化的ChatGPT
mysql设置字段的排序规则对大小写敏感_焦点精选
51分09秒跑5公里! 96岁老太打破年龄组世界纪录
上海一老人误将地铁扶手当售卖机:拿起手机扫码
全球热头条丨AMD定制处理器瞩目:华硕ROG Ally掌机内部结构首次公布
鲁大师久用流畅度测试排名出炉:OPPO Find X6 Pro第一 天天短讯
环球新消息丨飞机起飞前男子以照顾师傅为由滞留商务舱:称不需要对号入座
神舟十六发射成功!03 你还有七个学生没毕业:网友点赞导师到太空跑数据去了
新洁能:5月29日融券净卖出4.04万股,连续3日累计净卖出4.99万股
Java实现打包压缩文件或文件夹生成zip以实现多文件批量下载
大语言模型技术原理-环球视讯
MySQL之运算符大全|每日速讯
第八单元 数组与集合
(Java)记一次通过API递归分页“爬取”网页数据的开发经历
神舟十六号发射圆满成功:大红屏再次点亮 环球新资讯
全脂/低脂可选:特仑苏纯牛奶2.7元/盒大促(商超6元)
中科院院士:电动车主可以往外卖电 一年能卖4000元-焦点简讯
世界短讯!“十项全能”是怎样一种体验?华为Mate X3绝对是大屏折叠旗舰天花板
世界视点!小米MIX Fold 3曝光:屏下摄像头+潜望长焦 再无短板
每日热讯!电力板块异动拉升 世茂能源两连板
企业内训一体化解决方案,布道师教学实训云平台【开源版上线】|今日热闻
世界快报:JS中的事件监听
最野性的福特SUV!探险者昆仑巅峰版上市:售39.98万
新资讯:媒体评“剩菜盲盒”被疯抢 越来越多年轻人喜爱:便宜、杜绝浪费食品
荣耀赵明:MagicOS 8.0会有巨大进步 某些层面跟鸿蒙流畅性不相上下-环球快资讯
天天实时:给老外来点中国车 比亚迪ATTO 3成海外多国销冠:跻进全球前10
每日简讯:PS5国内白菜价:但PS5游戏盘开始涨价了
MongoDB学习笔记:配置文件-世界今热点
天涯神贴合集(2023最新)
天天快资讯丨找数字专注力训练(找数字)
每日头条!刚被微软夸史上最可靠系统 Win11又惹祸:AMD显卡中招
天天讯息:知名电竞解说Yammers自杀 留遗书称曾遭霸凌:玩家晒视频怀念 再见了宝贝
国产电商二手剪辑卖货 拿捏欧美老外
女子用餐被收700元服务费却无服务 官方回应1对1管家服务:网友感慨
如何强制删除电脑文件内容(如何强制删除电脑文件)
收益率持续下行 同业存单市场走牛
世界快资讯丨【读财报】19家民营银行财报透视:网商银行、华瑞银行、新网银行不良率居前三
无敌性价比、能灭Zen4全家桶 Intel 14核酷睿i5-13600KF到手1969元
SSD大牌被卷到!铠侠RC20史低价:1TB 299元/2TB 599元
【世界新要闻】神舟十六号即将发射!三位航天员亮相出征仪式:要出差半年
天天热讯:今年最强LCD手机!Redmi Note 12T Pro游戏实测:《王者》《原神》几乎满帧
全球观点:是否具有派遣资格是什么意思_是否具有派遣资格
读数据压缩入门笔记02_二进制和熵
计划2030年前实现中国人登月 马斯克:中国航天比多数人想象得要强大
女子骨折做手术后左腿变长2.3厘米:鉴定十级伤残 医院拒赔
产油大国起内讧:俄罗斯低价供应大量石油 沙特都顶不住了|独家焦点
5月29日基金净值:信诚量化阿尔法股票A最新净值1.4838,跌0.3% 全球通讯
找狗(关于找狗的基本详情介绍) 当前最新
有这么个神人:被毒蛇咬173次 长期注射蛇毒 活了101岁
Flash死了!但小时候玩过的游戏 还不想死
地铁上 女子充电宝突然爆炸!现场烟雾弥漫
今晚油价或迎年内第四涨!加满一箱多花3.5元
3300秒!我国未来载人登月火箭主力发动机单台试车时长创新纪录 焦点滚动
【环球热闻】111完美邮箱_1163 com邮箱
【港股通】国泰航空(00293)据报接近订购波音777-8F货机-环球时快讯
土耳其总统埃尔多安再次赢得大选,将再度连任,外交部回应
5月29日基金净值:南方荣光A最新净值1.523,涨0.07% 当前观点
里程碑博士_里程碑的意思_今日看点
速看:武汉洪山融创智谷举办首届菁英联谊会,青年男女开启甜蜜之旅
黄果树天星洞景区小孩敲断钟乳石 工作人员称会尽快处理进行追责
国产动漫《斗罗大陆》终于迎来大结局 堪称“电影级”观影体验
德国一模特通过断骨增高将自己的身高从163增加至180厘米 手术风险极大
阿根廷国家队公布最新一期球队大名单 将由梅西与迪玛利亚领衔