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系列(五)使用Docker部署RabbitMQ叢集MQDocker
- 二、Linux部署RabbitMQ叢集LinuxMQ
- 使用docker 搭建rabbitmq 叢集DockerMQ
- 用Docker搭建RabbitMq的普通叢集和映象叢集DockerMQ
- RabbitMQ 雙機 映象叢集模式MQ模式
- RabbitMQ叢集運維實踐MQ運維
- RabbitMQ叢集重啟報錯MQ
- 快速掌握RabbitMQ(五)——搭建高可用的RabbitMQ叢集MQ
- 訊息中介軟體RabbitMQ_RabbitMQ叢集搭建8MQ
- 部署rabbitMQ映象叢集實戰測試MQ
- RabbitMQ和Kafka的高可用叢集原理MQKafka
- RabbitMQ(四):使用Docker構建RabbitMQ高可用負載均衡叢集MQDocker負載
- 用 docker-compose 搭建一個 rabbitmq 叢集DockerMQ
- 基於 HAProxy + KeepAlived 搭建 RabbitMQ 高可用叢集MQ
- 訊息型中介軟體之RabbitMQ叢集MQ
- Linux原始碼安裝RabbitMQ高可用叢集Linux原始碼MQ
- RabbitMQ從零到叢集高可用(.NetCore5.0) -高可用叢集構建落地MQNetCore
- RabbitMQ系列(六)你不知道的RabbitMQ叢集架構全解MQ架構
- 5分鐘帶你瞭解RabbitMQ的(普通/映象)叢集MQ
- Centos7部署RabbitMQ的映象佇列叢集CentOSMQ佇列
- rabbitmq 原理、叢集、基本運維操作、常見故障處理MQ運維
- Zookeeper叢集 + Kafka叢集Kafka
- RabbitMQ從零到叢集高可用(.NetCore5.0) - RabbitMQ簡介和六種工作模式詳解MQNetCore模式
- 搭建zookeeper叢集(偽叢集)
- 3.RabbitMQ高階叢集搭建(Haproxy負載均衡、Keepalived高可用)MQ負載
- 在滴滴雲 DC2 雲伺服器上搭建 RabbitMQ 叢集伺服器MQ
- zookeeper叢集及kafka叢集搭建Kafka
- RabbitMQ工廠虛擬機器叢集可靠性測試報告MQ虛擬機測試報告
- Redis系列:搭建Redis叢集(叢集模式)Redis模式
- linux下搭建ZooKeeper叢集(偽叢集)Linux
- redis偽叢集配置Cluster叢集模式Redis模式
- redis叢集Redis
- ceph叢集
- redis 叢集Redis
- ES叢集
- RabbitMQ從零到叢集高可用(.NetCore5.0) - 死信佇列,延時佇列MQNetCore佇列