RabbitMQ的高可用机制
普通集群
在集群中的每个节点间共享部分数据,包括交换机和队列信息
但不包含队列中的消息
当访问一个节点时,如果消息不在这个节点,就会将数据传递到当前节点并返回
如果消息所在的节点宕机,队列中的消息就会丢失
镜像集群
本质是主从模式
交换机,队列,队列中的消息会在mq的各个镜像节点中同步备份
创建队列的节点称为这个队列的主节点
同步这个队列的节点称为这个队列的镜像节点
一个队列的主节点可能是另一个队列的镜像节点
主节点宕机后,镜像节点会替代为新的主节点
仲裁集群
与镜像集群类似
但主从同步基于Raft协议,具备强一致性
不会出现镜像集群主节点宕机,数据可能丢失的情况