目錄
序
概念簡述
一、客戶端概念
1. Topic-主題
2.ConsumerGroup(消費(fèi)者組)
概念一覽圖
二、消息傳輸模型
三、實(shí)踐應(yīng)用
1.配置文件
2.生產(chǎn)者
3.消費(fèi)者
配置一覽圖
最后的話?
接上一篇對(duì)rabbitMQ隊(duì)列進(jìn)行了梳理?《一文搞懂rabbitMQ消息隊(duì)列概述》。
本篇對(duì)另一種消息隊(duì)列rocketMQ進(jìn)行概述理解。
概念簡述注:本文依據(jù)當(dāng)前最新版本5.x為基礎(chǔ)展開
分為三個(gè)方面進(jìn)行分析理解:
主題是RocketMQ消息傳輸和存儲(chǔ)的頂層容器,標(biāo)識(shí)同一類業(yè)務(wù)消息邏輯數(shù)據(jù)。只是一個(gè)邏輯容器,并不是實(shí)際的消息容器。
2.ConsumerGroup(消費(fèi)者組)messageType(消息類型):控制臺(tái)創(chuàng)建主題時(shí),需要設(shè)置一種消息類型,后續(xù)向該主題傳輸消息,該主題只會(huì)接收對(duì)應(yīng)的消息類型,不匹配的則會(huì)直接拒絕接收。
- Normal(普通消息):沒有特殊語義,消息自己沒有任何關(guān)聯(lián)
- FIFO(順序消息):MQ通過消息分組messageGroup標(biāo)記一組特定消息的先后順序,可以保證消息的投遞順序可以嚴(yán)格按照消息的發(fā)送順序進(jìn)行投遞。
- Delay(定時(shí)/延時(shí)消息):通過設(shè)置延時(shí)時(shí)間控制消息生產(chǎn)后不立即投遞,而是等延時(shí)間隔時(shí)間后對(duì)消費(fèi)者可見。
- Transaction(事務(wù)消息):rocketMQ支持分布式事務(wù),支持應(yīng)用數(shù)據(jù)庫消息和消息回調(diào)事務(wù)一致性保障。
queue(隊(duì)列):控制臺(tái)創(chuàng)建主題時(shí),需要設(shè)置主題的隊(duì)列數(shù)量,不用單獨(dú)創(chuàng)建隊(duì)列,MQ服務(wù)器會(huì)自動(dòng)創(chuàng)建。拋開不同服務(wù)商的實(shí)現(xiàn),對(duì)于隊(duì)列本身來說,單個(gè)queue 具有自然順序性;
注1:對(duì)于RocketMQ的隊(duì)列,還具備一個(gè)獨(dú)一無二的的特性,流式操作語義:隊(duì)列的存儲(chǔ)模型可確保消息從任意位點(diǎn)(offset)讀取任意數(shù)量的消息,以此實(shí)現(xiàn)類似聚合讀取、回溯讀取等特性??????。
概念:是Apache RocketMQ中存在多個(gè)消費(fèi)行為一直的消費(fèi)者負(fù)載均衡分組。
投遞順序性:控制臺(tái)創(chuàng)建消費(fèi)者分組時(shí),需要設(shè)置一種消費(fèi)者投遞的順序。
- 順序投遞:消費(fèi)順序和發(fā)送順序完全一致。
- 并發(fā)投遞:并發(fā)消費(fèi),盡可能按時(shí)間順序處理。
??注2:按消費(fèi)者是否設(shè)置消費(fèi)者組,對(duì)于投遞順序性有不同的特性,詳細(xì)可參考RocketMQ官網(wǎng)消費(fèi)者組詳解
消費(fèi)重試策略:控制臺(tái)創(chuàng)建消費(fèi)者分組時(shí)設(shè)置。保證消費(fèi)者消費(fèi)消息異常或失敗后出去的重試策略。
- 重試次數(shù)
- 死信隊(duì)列設(shè)置
- 重試時(shí)間間隔
- ...
? 注3:根據(jù)消費(fèi)者類型不同,重試觸發(fā)時(shí)機(jī)存在差異
? (1)PushConsumer:異常時(shí)返回失敗狀態(tài)碼,立即重試? ? ?
(2)SimpleConsumer:靜默等待超時(shí),服務(wù)器自動(dòng)重試
注4:建議通過減少重試次數(shù)+延長重試間隔來降低系統(tǒng)壓力,避免出現(xiàn)無限重試或大量重試的情況。
概念一覽圖在控制臺(tái)中 topic主題 與 consumerGroup消費(fèi)者組 沒有直接的關(guān)聯(lián)
MQ的消息傳輸模型大致分為兩類:點(diǎn)對(duì)點(diǎn)消息模型、發(fā)布/訂閱消息模型
Apache RocketMQ只支持一種消息模型:發(fā)布/訂閱消息模型
三、實(shí)踐應(yīng)用 1.配置文件注5:Apache RabbitMQ兩種消息傳輸模型都支持
消費(fèi)者訂閱關(guān)系
上面說到控制臺(tái)topic與consumerGroup沒有直接的關(guān)聯(lián),其實(shí)是在客戶端通過消費(fèi)者產(chǎn)生的聯(lián)系。
項(xiàng)目中集成RocketMQ可參考:?springboot 整合 騰訊云RocketMq版消息隊(duì)列服務(wù)
配置一覽圖至此rocketMQ的基本概念大致清楚了,但是想要生產(chǎn)運(yùn)用不僅僅止步于表面,自己更需要去深耕框架底層的邏輯實(shí)現(xiàn),才能真正掌握并達(dá)到事半功倍的效果。
行動(dòng)起來
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
分享題目:《云原生》一文搞懂RocketMQ隊(duì)列概述-創(chuàng)新互聯(lián)
標(biāo)題URL:http://www.rwnh.cn/article4/djppie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、App開發(fā)、云服務(wù)器、面包屑導(dǎo)航、企業(yè)網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容