
注意:
1、nameServer1 和 nameServer2 是相互獨立的,這點跟 zookeeper集群不一樣
2、每個broker都要配置 nameServer 下所有的節點,注冊節點資訊,topic資訊,佇列資訊
3、節點 broker.name相同的是 同一個小集群,其中broker.id=0 是master節點,broker.id非0的是slave節點
4、offset存放在broker中
5、producer,comsumer會間隔30s 從nameServer中 把最新的路由資訊 更新到本地
6、producer也是push 訊息到 rocketmq cluster中 ,comsumer 主動去 pull 訊息
資料存盤

commitlog檔案夾下是存放真實的資料

每個檔案默認大小是一個G,檔案是當前檔案最小的offset,這個跟kafka 磁區下的資料保存格式一樣的額
consumequeue檔案夾下存放的是 每個topic下的佇列資料,這里的資料并不是真實的資料,而是只想commitlog的地址參考

這里面會列出保存在當前broker中所有的topic,當前只有一個名為TopicTest的topic,在TopicTest目錄里面:

保存了TopicTest topic存放在當前broker下的 佇列資訊,0,1,2,3是queue id,點擊進入 0 檔案夾

這里的檔案保存是,0 佇列 資料在 commonlog中的地址參考
config檔案夾下面存放的是 每個topic 被每個消費者 消費的offset 記錄


看這個TopicTest@please_rename_unique_group_name_4":{0:250,1:250,2:250,3:250} 其中TopicTest是 topic名稱,please_rename_unique_group_name_4是消費組ID,0:250 0是佇列ID,250是最新提交的offset,則說明下一次要消費的資料的offset是251
所以rocket mq的資料都存在一個檔案夾下commonlog,也是采用順序寫的方式把訊息寫入檔案

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/357061.html
標籤:其他
上一篇:人工智能期末考試復習
