RocketMQ Broker的最佳實踐

2021-09-01 00:13:32 字數 861 閱讀 2695

翻譯自rocket官方文件

broker的方式有非同步主,同步主,或者從。如果不能容忍訊息丟失,建議以同步主從方式部署。如果對丟失沒那麼嚴格,但是希望高可用,可以部署為非同步主從,如果你想更簡單,可以使用非同步主而不需要從機。

非同步刷盤是推薦的方式, 因為同步刷盤太多的消耗而且造成大量的效能丟失,如果希望可靠性高,建議使用同步主從。

等待完成

等待完成

因為borker本身需要儲存訊息資訊,所以高可用方案選擇主從方式。

主從方式可以通過主從同步熱備或主從非同步熱備兩種方式。

同步熱備需要主從都將訊息資訊處理完成以後才返回,所以效能要差一些。

非同步熱備就是主結點成功處理訊息完成就返回,從結點通過內部的同步機制主結點訊息資料。

在rocketmq預設的配置檔案路徑下有$/conf/2m-2s-async/目錄路徑,在該路徑下有兩主兩從非同步熱備配置的模板。

本案例因為只考慮高可用,不考慮高效能,所以只配置一主一從。只需要使用基於broker-a.properties和broker-a-s.properties兩個模板檔案進行修改配置。

如果要考慮高效能,只需要將broker-b.properties做類似修改就可以了。如果竟考慮高可用,又考慮高效能,則配置從個broker-x.properties和broker-x-s.properties配置就可以了。

同步刷盤:在訊息到達mq後,rocketmq需要將資料持久化,同步刷盤是指資料到達記憶體之後,必須刷到commitlog日誌之後才算成功,然後返回producer資料已經傳送成功。

非同步刷盤:,非同步刷盤是指資料到達記憶體之後,返回producer說資料已經傳送成功。,然後再寫入commitlog日誌。

rocketmq broker 訊息分發流程分析

文章基於rocket mq4.0 分析 server接收到訊息後,會將訊息分發到對應的consumequeue中,等待client端拉取消費。核心類 org.apache.rocketmq.store.defaultmessagestore.reputmessageservice類圖 該類繼承 se...

RocketMQ Broker 快速失敗機制

版本 4.2.0,原始碼 class檔案 broker的快速失敗機制是為了防止請求過載,導致broker處理請求效率變低,從而影響訊息的消費 broker啟動的時候會初始化broke stfailure this.broke stfailure new broke stfailure this th...

Rocketmq broker寫入能力檢視

如何證明 rocketmq 集群本身沒有問題呢?其實也很簡單,我們通常乙個常用的技巧是檢視 rocketmq 訊息寫入的效能,執行如下命令 cd logs rocketmqlogs grep pagecachert store.log more 其輸出的結果如下圖所示 在 rocketmq brok...