共計 1454 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章主要介紹在 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 的索引。
以上是“在 rocketMq 中核心組件有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!