RocketMQ學習筆記(2)----Broker的集群四種方式


RocketMQ推薦了幾種Broker集群方式,這里的Slave不可寫,但可讀,類似於Mysql主備方式

1. 單個Master

  這是一種風險比較大的集群方式,因為一旦Borker重啟或宕機期間,將會導致這個服務不可用,因此是不建議線上環境去使用的。

2. 多個Master

  一個集群全部都是Master,沒有Slave,它的優點和缺點如下:

  優點:配置簡單,單個Master宕機或者是重啟維護對應用沒有什么影響的,在磁盤配置為RAID10時,即使機器宕機不可恢復的情況下,消息也不會丟失(異步刷盤丟失少量消息,同步刷盤則是一條都不會丟失),性能最高

  缺點:當單個Broker宕機期間,這台機器上未被消費的消息在機器恢復之前不可訂閱,消息的實時性會受到影響。

3. 多Master多Slave模式-異步復制

  每個Master配置一個Slave,有多對的Master-Slave,HA采用的是異步復制方式,主備有短暫的消息延遲,毫秒級別的(Master收到消息之后立刻向應用返回成功標識,同時向Slave寫入消息)。優缺點如下:

  優點:即使是磁盤損壞了,消息丟失的非常少,且消息實時性不會受到影響,因為Master宕機之后,消費者仍然可以從Slave消費,此過程對應用透明,不需要人工干預,性能同多個Master模式機會一樣。

  缺點:Master宕機,磁盤損壞的情況下,會丟失少量的消息。

4.  多Master多Slave模式-同步雙寫

  每個Master配置一個Slave,有多對的Master-Slave,HA采用的是同步雙寫模式,主備都寫成功,才會向應用返回成功。

  優點:數據與服務都無單點,Master宕機的情況下,消息無延遲,服務可用性與數據可用性都非常高

  缺點:性能比異步復制模式略低,大約低10%左右,發送單個Master的RT會略高,目前主機宕機后,Slave不能自動切換為主機,后續會支持自動切換功能。

  


免責聲明!

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



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