RabbitMQ的集群主要分为标准集群 、镜像集群 和联邦集群三种。
标准集群
标准集群是多台RabbitMQ服务器通过网络连接组成一个集群,所有节点共享元数据,但是一个消息只存储在单个节点上。
在标准集群模式下,因为元数据是共享的,所以任何一个节点都知道消息在哪个节点上,可以实现负载均衡。
消息存储在某个节点上但是不会自动复制到其他节点。
镜像集群
和标准集群模式不同,镜像集群模式下,队列的消息会复制到多个节点上,如果主队列所在的节点发生故障,副本节点会自动接管,从而保证队列的可用性。
Federated 集群
通过Federated Exchange或Federated Queue实现消息的跨节点路由 / 复制,节点之间无需共享元数据,解决了标准 / 镜像集群无法跨广域网部署的问题。