rocketMq概念介紹


rocketMq官網

    http://rocketmq.apache.org/

rocketMq邏輯概念介紹


rocketMq邏輯圖

備注
    改圖片分享自李占衛的網上家園

說明

    在rocketMq的中核心4組件為namesrv、broker、consumer、producer。

    broker:消息存儲中心,主要用來存儲消息並通過namesrv對外提供服務。

    namesrv:無狀態的注冊中心,功能用來保存broker的相關的元信息並提供給producer在發送消息過程中和提供給consumer消費消息過程中查找broker信息。

    producer:消息生產者,通過namesrv獲取broker的地址並發送消息。

    consumer:消息消費者,通過namesrv獲取broker的地址並消費消息。

 

 

rocketMq部署情況介紹


rocketMq部署圖

 

 


rocketMq的集群概念細分

說明

    rocketMq實際部署圖,每個組件都可以用集群形式出現。

    producer:通過producerGroup的名字來標記自己是一個集群。

    consumer:通過consumerGroup的名字來標記自己是一個集群。

    namesrv:相互之間無通信,通過部署多台機器來標記自己是一個偽集群。

    broker:通過clusterName來標記集群,每個broker通過clusterName來表明cluster層面集群,通過brokerName來標明broker層面集群,通過brokerId標明主從身份。

 

rocketMq消息存儲介紹


rocketMq消息存儲

說明:

    rocketMq的消息存儲通過二級索引來進行,其中實際消息存儲在Commit Log的邏輯隊列中(磁盤文件消息順序寫),consume queue保存着每個消息消費隊列的待消費的數據並且指向commit Log。

 

rocketMq線上配置介紹


rocketMq實際數據存儲

說明:

    rocketMq線上環境的真實存儲,每個broker的存儲數據格式就是類似上圖。

    config目錄

        consumerFilter:保存consumer端的消息過濾配置,應該是等消費端配置了過濾規則就會在這個文件中增加記錄。

        consumerOffset:消費進度偏移量,以topic@consumerGroup作區別,0:125的0代表隊列,125代表消費偏移量。


consumerOffset

 

delayOffset:延遲隊列消費進度,其中2代表延遲粒度,2000代表消費進度。


delayOffset
 

subscriptionGroup:表示訂閱消費的消費組。


subscriptionGroup
 

topic:rocketMq中topic的信息,可以理解topic為業務消息分組的粒度,一般一個topic為一類業務的邏輯消息集合。


topic 

 

commitlog目錄

    rocketMq實際存儲消息的位置。

consumequeue目錄

    %DLQ%@ConsumeGroupA:消費分組的死信隊列,保存指向commit log的索引。

    %RETRY%@ConsumeGroupA:消費分組的充實隊列,保存指向commit log的索引。

    SCHEDULE_TOPIC_XXXX:延遲消息隊列,保存指向commit log的索引。

    TOPICA:topic的消費隊列存儲,保存指向commit log的索引。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM