最新要闻
- 今日热议:吉利汽车2月销量10.87万辆 极氪同比增长87% 可自主选择是否开启单踏板
- 全球信息:苹果iPhone掉熊窝被叼走 第一视角记录血盆大口
- 快报:荣耀赵明:苹果还是行业标杆 向苹果致敬 然后超越
- 环球快看:人口不断下降!一周工作时间增至69小时 韩国打工人也要迎来996
- 6g是什么概念
- 简讯:父母不给买鞋28岁女儿瞬间崩溃 跪地哀求200块都不给我花:网友感叹
- 男子在LV官网买包近2年未发货:最后商家取消订单
- 【快播报】男子挑战18元5片天价土豆火锅店:最后点了5盘土豆吃到崩溃
- 今日热讯:小伙早餐喝下20个生鸡蛋 网友:是个狠人 上一个这么喝的是周润发
- 环球热讯:弹幕也要放广告?!还能不能让人好好看剧了
- 视讯!避免延期发售?曝《GTA6》可能削减本体内容移到后续DLC
- 焦点热议:公称抗拉强度值_公称抗拉强度
- 教你用QQ邮箱如何发送文件
- 天天速看:南昌工学院开展“保护母亲河,争当河小青”净滩环保志愿活动
- 天天关注:收到背去世老人下楼订单?顺丰回应引围观 网友感叹这单也敢接
- 每日速读!拒绝ChatGPT后:苹果光速反悔
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
环球视讯!聊聊消息队列中的基础概念
我们在使用不同的消息队列产品时,会遇到不同的“名词”,今天我们今天来聊一些相关内容,包括队列、主题、分区等。
消息队列进化史
好的架构不是设计出来的,而是不断演进得来的,消息队列的发展历史,也印证了这一点,消息队列的消息模型主要包括两类:
(资料图)
- 队列模型
- 发布-订阅模型
队列模型
最初的消息队列就是一个严格意义上的队列,它是一个先进先出(FIFO)的线性表,在具体实现时可以采用链表或者数组的形式,队列只允许在后端进行插入操作,在前端进行删除操作。
早期的消息队列就是按照”队列“的数据结构进行设计,其中生产者(Producer)发消息就是入队操作,消费者(Consumer)收消息就是出队操作。
如果有多个生产者向同一个队列里面发送消息,这个队列中可以消费到的消息,就是这些生产者生产的所有消息的合集,消息的顺序就是按照这些生产者发送消息的自然顺序,如果有多个消费者接收同一个队列的消息,这些消费者之间是竞争的关系,每个消费者只能收到队列中的一部分消息,即任何一条消息只能被其中的一个消费者收到。
如果需要将一份消息发送到多个消费者,要求每个消费者都要收到全量消息,这时单个队列就不能满足需求,可以考虑针对每个消费者都建一个单独的队列,让生产者发送多份,但是这样做,就违背了消息队列实现“服务解耦”的初衷。
发布-订阅模型
发布-订阅模型就是为了解决队列模型中遇到的多个消费者都消费全量信息的问题。
在发布-订阅模型中,
- 消息的发送方称作发布者
- 消息的接收方称作订阅者
- 服务端存放消息的容器称为主题
发布者将消息发布到主题中,订阅者在接收消息之前需要先“订阅主题”。
分布-订阅模型和队列模型相比,生产者就是发布者,消费者就是订阅者,队列就是主题,并没有本质的区别,它们最大的区别在于,一份消息数据能不能被消费多次的问题。
在发布-订阅模型中,如果只有一个订阅者,那它和队列模型就基本一致了,即发布-订阅模型在功能层面上是可以兼容队列模型的。
常见消息队列产品的设计模型
接下来我们看常用的消息队列产品的队列模型设计。
RabbitMQ
RabbitMQ是少数来在坚持使用队列模型的产品之一,对于多个消费者的问题,它提供了Exchange模块,位于生产者和消费者之间,生产者不关心将消息发给哪个队列,而是将消息发给Exchange,由Exchange上配置的策略来决定将消息队列发送到哪个队列中。
同一份消息如果需要被多个消费者来消费,需要配置Exchange将消息发送到多个队列,每个队列中都存放一份完整的消息数据,可以为一个消费者提供消费服务。
RocketMQ
RocketMQ使用的消息模型是标准的发布-订阅模型。
几乎所有的消息队列都使用一种“请求-确认”机制,确保消息不会在传递过程中由于网络或者服务器故障而丢失,具体做法:
- 在生产端,生产者先将消息发送给服务器,服务器在收到消息并将其放入到主题或者队列后,给生产者发送确认的响应。
- 在消费端,消费者在收到消息并完成自己的业务逻辑后,给服务端发送消息消费成功的确认。
这个机制保证了消息在传递过程中的可靠性,但是引入这个机制后,为了确保消息的有序消费,在某一条消息被成功消费之前,下一条消息是不能被消费的。即每个主题在任意时刻,至多只能有一个消费者在消费,这也就没有办法水平扩展消费者的数量来提升消费端整体性能。
为了解决这个问题,RocketMQ引入了队列的概念,在每个主题中包含多个队列,通过多个队列来实现多实例并行消费消息。RocketMQ只保证消息在队列上是有序消费的,在主题层面是无法保证的。
RocketMQ的订阅者是通过消费组来体现的,每个消费组都消费主题中的一份完整的消息,不同消费组之间的消费进度是相互隔离的,即一条消息被消费组1消费后,还会被消费组2消费。
消费组中有多个消费者,同一个组内的消费者是竞争的关系,每个消费者负责消费组内的一部分消息。如果一条消息被消费者1消费,那么同一个消费组内的其他消费者没有办法再次消费这条消息。
为了维护多个消费组的不同的消息消费进度,RocketMQ会为每个消费组在每个队列上都维护一个消费位置信息,即Offset。这个位置之前的消息都已经被消费,之后的消息都没有被消费,没成功消费一条消息,消费位置加一。
Kafka
Kafka也是采取发布-订阅模型。
Kafka和RocketMQ相比,消息模型是一样的,区别在于RocketMQ中的“队列”,在Kafka中,被替换成“分区”。
关键词: 发送消息
天天热文:浅谈基于Web的跨平台桌面应用开发
环球视讯!聊聊消息队列中的基础概念
今日热议:吉利汽车2月销量10.87万辆 极氪同比增长87% 可自主选择是否开启单踏板
全球信息:苹果iPhone掉熊窝被叼走 第一视角记录血盆大口
快报:荣耀赵明:苹果还是行业标杆 向苹果致敬 然后超越
环球快看:人口不断下降!一周工作时间增至69小时 韩国打工人也要迎来996
6g是什么概念
简讯:父母不给买鞋28岁女儿瞬间崩溃 跪地哀求200块都不给我花:网友感叹
天天新资讯:python-模块与包
男子在LV官网买包近2年未发货:最后商家取消订单
【快播报】男子挑战18元5片天价土豆火锅店:最后点了5盘土豆吃到崩溃
今日热讯:小伙早餐喝下20个生鸡蛋 网友:是个狠人 上一个这么喝的是周润发
环球热讯:弹幕也要放广告?!还能不能让人好好看剧了
视讯!避免延期发售?曝《GTA6》可能削减本体内容移到后续DLC
焦点热议:公称抗拉强度值_公称抗拉强度
教你用QQ邮箱如何发送文件
天天速看:南昌工学院开展“保护母亲河,争当河小青”净滩环保志愿活动
天天关注:收到背去世老人下楼订单?顺丰回应引围观 网友感叹这单也敢接
每日速读!拒绝ChatGPT后:苹果光速反悔
观众对《最后生还者》真人剧选角不满:女演员与想象不符
每日速讯:女子入职10天因老板娘不同意被开除:当事人感觉“很离谱”
2-高级特性
入门云原生,你需要了解的基础知识
俄罗斯国产新电脑启用!搭载自研8核ARM处理器、运行Linux定制系统
西班牙推出3D打印植物肉:模拟真肉口感
世界快消息!iOS从安卓抄来的这5个功能:苹果用户直呼真香?
世界快消息!学生免费领取7个月云服务器
每天吃的盐:一步步伤害你的身体
女子爱吃生腌海鲜:胆管长满活虫和虫卵
世界实时:iQOO Z7系列配置泄露:最高骁龙782G、支持120W闪充
精彩看点:地方融资平台
环球简讯:郑东新区“红立方·楼事会”荣获全市基层党建“十佳书记项目”
数据漂移问题及解决方案
全球新资讯:(数据库系统概论|王珊)第十章数据库恢复技术-第三节:故障种类
今日热搜:一次Java服务内存过高的分析过程
超划算!冷酸灵泵式牙膏5件套39元发车(送牙刷+漱口水)
天天热点!M.2 SSD秒变移动硬盘!酷冷至尊神钥Air图赏
焦点速讯:亚航被曝行李超重5公斤补收1807元:拍照被威胁不要上飞机
【全球新要闻】极氪官方二手车上线:不以盈利为目的 只收12万公里0事故车辆
精选!安卓“女皇”王雪红爆料苹果MR头显最快年中发布:HTC不担心竞争
环球视点!统一日志输出打印POST请求参数
法系车疯狂降价 12万买C级车雪铁龙C6!有销售一天卖车150多台
热点聚焦:豆瓣评分仅6.0:《蚁人3》周末北美票房暴跌61%
资讯:淄博烧烤店开门一分钟坐满大学生:组团去山东撸串火出圈
699元起 荣耀手表GS 3i发布:14天长续航、支持血氧监测
《巫师3》叶奈法玩偶推出:真人尺寸 能替换服饰
全球速看:stegsolve与zsteg的使用
环球即时:用线性二次模型建模大型数据中心,基于 MPC 进行冷却控制
环球头条:2023,大前端技术趋势及小程序未来分析
全球球精选!如何使用JDBC将Cordova应用程序连接到MySQL数据库?
当前快看:北京故宫三八节门票预定时间是几点?
索尼推出IMX611景深传感器:实现高精度物距测量
天热来两件!220g重磅精梳棉:放克男士纯色T恤20元大促
小米手机在家就能自助检测!支持充电、网络等12项自检
全球快报:北京、郑州等14个省会级城市气温创今年来新高:或挑战历史最暖纪录
和14 Pro一样!iPhone 15全系登岛:苹果又搞了新配色
全球通讯!旖旎是什么意思
当前滚动:hutool XML反序列化漏洞(CVE-2023-24162)
焦点热讯:【MRTK】解决 Unity.IL2CPP.Building.BuilderFailedException: Lump_libil2cpp_vm.cp
记录--uni-app中安卓包检查更新、新版本下载、下载进度条显示功能实现
焦点信息:基于datax抽取mysql数据到HDFS
阅读并手撸JS版Naive Ui Admin骨架
京东客服确认:百亿补贴商品不支持价保!
世界消息!“点对点”自动驾驶 红旗发布E702官图:百公里人工接管小于0.5次
速讯:2499元 荣耀观影眼镜发布:轻至80g、500nit入眼亮度
世界实时:荣耀最强旗舰!一图了解荣耀Magic5至臻版:6699元
环球焦点!超薄+四种体验:冈本Okamoto金装系列1.7元/枚大促
要闻:拖胆选号怎么玩_拖胆选号
Django-2
当前观点:【建议收藏】超详细的Canal入门,看这篇就够了!!!
当前快看:3.6 C提高3day
本地硬盘文件映射公网 cpolar轻松做到
顶象中标GovHK香港政府一站通数字化项目
每日播报!《消费者报告》公布最不可靠的10款电动车:特斯拉双车上榜
微头条丨荣耀Magic 5系列亮相:曲面屏也能拥有直屏体验
天天精选!女子算命核桃树挡姻缘 家人将树砍掉:当事人称要相信科学
安装Redis6.2.7主从哨兵集群教程
当前视点!NTP对时服务器(NTP电子时钟)重要参数指标表
焦点速讯:接口安全性问题02——jwt身份验证与授权
短讯!熬夜后心里咯噔一下要注意:有三大风险
全球快讯:浪费人才?酒店回应去一本院校招聘洗碗工:2千工资对应发展空间广
环球观热点:努比亚Z50 Ultra缩小系统固件:仅8个不可卸载应用
【天天快播报】特斯拉失控、单踏板风波不断 为何还买?吉利李书福:建议大家买国产新能源汽车
2月XGP最佳游戏玩家投票:俄罗斯3A大作《原子之心》荣获第一
A/B 实验避坑指南:为什么不建议开 AABB 实验
观速讯丨.NET7依赖注入
3月6日译名发布:乔治·桑托斯
黄鳝吃什么东西
看点:699元 小米米家首款智能钢琴灯发布:雷达感应自动开关灯
天天微资讯!降低水产品检测标准!日本坚决核污水排海 100%移除放射性元素做不到
专家呼吁每天省杯咖啡提前规划养老:背后商业版图显现 网友无语满嘴跑火车
一个摄像头就能让虚拟人唱跳rap:抖音即可玩
有哪些值得收藏的运营思维导图?
环球速看:在工作中最容易犯的3个大忌
环球头条:1-基础入门
每日热门:网络安全(中职组)-B模块:Windows操作系统渗透测试
当前资讯!你也能成为“黑客”高手——趣谈Linux Shell编程语言
每辆都是碰撞测试车 特斯拉全球首创真实碰撞测试系统
当前热点-惊蛰习俗有哪些?专家科普:吃梨、吃“懒龙”了解下
【世界报资讯】33万买奥迪A7L!上汽回应“内购价最高优惠16万”:正严查信息外泄