RabbitMQ叢集
RabbitMQ叢集
在RabbitMQ叢集裡,執行時狀態包含交換器、佇列、繫結器、使用者、虛擬主機以及策略,它們對所有節點都可用。
這種共享執行時狀態的特性,使得叢集中的每一個節點都能綁釋出或者刪除連線到第一個節點建立的交換器,
因此當節點中出現節點當機,其執行狀態以及資料都是可以轉移恢復的。
RabbitMQ提供了HA佇列,它可以
- 跨越多個叢集節點並共享同步佇列狀態和訊息資料
- HA佇列中的某個節點發生故障的話,叢集中的其他節點仍然儲存著訊息和佇列狀態。
- 當故障的節點重新加入叢集時,該節點會完全同步自節點故障以來所有被消費的訊息。
- 通過HA佇列,我們可以實現叢集中有節點專門服務釋出者,有節點專門服務於消費者。
- 一個訊息被髮送到RabbitMQ叢集中的任何一個節點時,該訊息會被路由到佇列中去,無關佇列在叢集中的位置。
HA佇列需要注意的地方
- 不能跨越WAN或者網際網路來搭建RabbitMQ叢集
- 叢集中的節點不宜過多,通常上限在32-64個,太多的節點會增加內部共享執行時狀態的複雜性。
在RabbitMQ叢集有三類節點
- 磁碟節點:將叢集的執行時狀態會同時儲存在記憶體和磁碟中。
- 記憶體節點:只會把叢集的執行時狀態儲存在記憶體中。
- 狀態節點:在任意時刻,一個叢集只能有一個統計節點,用來負責收集叢集中每一個節點的全部統計資料和狀態資料。
注:
1.磁碟節點和記憶體節點都可以進行資料持久化。
2.當節點或者叢集崩潰時,在磁碟節點啟動並重新加入叢集時,會被用來重建叢集的執行狀態。而記憶體節點不會包含任何執行時資料,叢集中其他節點會把佇列定義等資訊傳送給它。
3.RabbitMQ叢集中最少要有一個磁碟節點,但是過多磁碟節點也會導致共享狀態不一致的問題。
實現RabbitMQ叢集可參考:
https://blog.csdn.net/weixin_40990818/article/details/101350558
相關文章
- RabbitMQ叢集搭建MQ
- RabbitMQ 映象叢集MQ
- RabbitMQ叢集簡介MQ
- RabbitMQ系列(五)使用Docker部署RabbitMQ叢集MQDocker
- 使用docker 搭建rabbitmq 叢集DockerMQ
- 用Docker搭建RabbitMq的普通叢集和映象叢集DockerMQ
- RabbitMQ叢集重啟報錯MQ
- 二、Linux部署RabbitMQ叢集LinuxMQ
- RabbitMQ叢集運維實踐MQ運維
- 快速掌握RabbitMQ(五)——搭建高可用的RabbitMQ叢集MQ
- Rabbitmq叢集高可用部署詳細MQ
- [Open Source] RabbitMQ 高可用叢集方案MQ
- 訊息中介軟體RabbitMQ_RabbitMQ叢集搭建8MQ
- 部署rabbitMQ映象叢集實戰測試MQ
- RabbitMQ和Kafka的高可用叢集原理MQKafka
- RabbitMQ(四):使用Docker構建RabbitMQ高可用負載均衡叢集MQDocker負載
- 訊息型中介軟體之RabbitMQ叢集MQ
- RabbitMQ系列(六)你不知道的RabbitMQ叢集架構全解MQ架構
- 基於 HAProxy + KeepAlived 搭建 RabbitMQ 高可用叢集MQ
- 用 docker-compose 搭建一個 rabbitmq 叢集DockerMQ
- Linux原始碼安裝RabbitMQ高可用叢集Linux原始碼MQ
- rabbitmq單機多例項叢集與負載均衡MQ負載
- RabbitMQ從零到叢集高可用(.NetCore5.0) -高可用叢集構建落地MQNetCore
- rabbitmq 原理、叢集、基本運維操作、常見故障處理MQ運維
- Centos7部署RabbitMQ的映象佇列叢集CentOSMQ佇列
- RabbitMQ高階指南:從配置、使用到高可用叢集搭MQ
- RabbitMQ高階指南:從配置、使用到高可用叢集搭建MQ
- 5分鐘帶你瞭解RabbitMQ的(普通/映象)叢集MQ
- Zookeeper叢集 + Kafka叢集Kafka
- 在滴滴雲 DC2 雲伺服器上搭建 RabbitMQ 叢集伺服器MQ
- 搭建zookeeper叢集(偽叢集)
- web叢集與ejb叢集Web
- zookeeper叢集及kafka叢集搭建Kafka
- 搭建高可用的rabbitmq叢集 + Mirror Queue + 使用C#驅動連線MQC#
- RabbitMQ工廠虛擬機器叢集可靠性測試報告MQ虛擬機測試報告
- 3.RabbitMQ高階叢集搭建(Haproxy負載均衡、Keepalived高可用)MQ負載
- RabbitMQ從零到叢集高可用(.NetCore5.0) - RabbitMQ簡介和六種工作模式詳解MQNetCore模式
- redis偽叢集配置Cluster叢集模式Redis模式