RabbitMQ叢集架構和原理解析
阿新 • • 發佈:2020-10-12
RabbitMQ 四種叢集架構
- 主備模式:warren(兔子窩),一個主/備方案(主節點如果掛了,從節點),與提供服務,和ActiveMQ 利用Zookeeper做主/備一樣)ActiveMQ不同的是,RabbitMQ主使用HaProxy路由。當主節點恢復後,會成為備份節點的備份節點,會進行漂移
可以理解為是熱備份,有一個Master和一個Slave, 正常情況下,Master是對外提供讀寫的,而Slave僅僅作為一個備份,當系統出現異常的時候,比如說Master遇到宕機時,會做一個切換,Slave節點會升級成Master節點,繼續對外提供服務(主從切換)
主備模式-HaProxy 配置
- 遠端模式:遠距離通訊和複製,可以實現雙活的一種模式,簡稱Shovel模式。
RabbitMQ早期提供的一種多活的儲存,主要是做資料的異地容災,異地轉移,也可以提升效能,比如說當我們單節點(單個叢集)處理不過來的時候,可以把訊息轉發到某個下游的叢集模式中,這種方式的架構非常簡單,但是配置很複雜。
Shovel叢集的配置步驟
- 映象模式:非常經典的叢集模式,保證100%資料不丟失。映象模式類似於MongoDB的複製集概念。
工作中用的最多,實現非常簡單,網際網路大廠也會用。
Mirror映象佇列:高可靠、資料同步、3節點(推薦奇數個節點)
缺點:無法橫向擴容。
- 多活模式:實現異地資料複製的主流方式。
與遠端模式差不多,就是做一個異地的容災,或者資料的轉儲功能,路由轉發的而功能
Federation外掛:可以在broker或cluster之間傳輸,可以看成exchanges:下游從上游拉去訊息,視覺化新增路由。
RocketMQ1
下期分享RocketMQ訊息中介軟體叢集架構與原理解析 ↩︎