RocketMQ 集群部署模式


RocketMQ 集群部署模式有以下幾種:

單 master 模式:

也就是只有一個 master 節點,稱不上是集群,一旦這個 master 節點宕機,那么整個服務就不可用,適合個人學習使用。

 

多 master 模式:

多個 master 節點組成集群,單個 master 節點宕機或者重啟對應用沒有影響。

優點:所有模式中性能最高

缺點:單個 master 節點宕機期間,未被消費的消息在節點恢復之前不可用,消息的實時性就受到影響。

注意:使用同步刷盤可以保證消息不丟失,同時 Topic 相對應的 queue 應該分布在集群中各個節點,而不是只在某各節點上,否則,該節點宕機會對訂閱該 topic 的應用造成影響。

 

多 master 多 slave 異步復制模式:

在多 master 模式的基礎上,每個 master 節點都有至少一個對應的 slave。

master 節點可讀可寫,但是 slave 只能讀不能寫,類似於 mysql 的主從模式。

優點: 在 master 宕機時,消費者可以從 slave 讀取消息,消息的實時性不會受影響,性能幾乎和多 master 一樣。

缺點:使用異步復制的同步方式有可能會有消息丟失的問題。

 

多 master 多 slave 同步雙寫模式:

同多 master 多 slave 異步復制模式類似,區別在於 master 和 slave 之間的數據同步方式。

優點:同步雙寫的同步模式能保證數據不丟失。

缺點:發送單個消息 RT 會略長,性能相比異步復制低10%左右。

刷盤策略:同步刷盤和異步刷盤(指的是節點自身數據是同步還是異步存儲)

同步方式:同步雙寫和異步復制(指的一組 master 和 slave 之間數據的同步)

注意:要保證數據可靠,需采用同步刷盤和同步雙寫的方式,但性能會較其他方式低。


免責聲明!

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



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