目录

RabbitMQ-高可用机制

目录

RabbitMQ-高可用机制

  1. 高可用机制主要通过一下三种集群模式实现:

普通集群、镜像集群、仲裁队列

  1. 普通集群

https://i-blog.csdnimg.cn/direct/001ba57b4c804decb41935a507510639.png

又名标准集群,特征如下:

①  会在集群的各个节点间共享部分数据,包括交换机、队列元数据。不包含队列中的消息

②  当访问集群的某个节点时,如果队列不在该节点,会从数据所在节点传递到当前节点并返回

③  队列所在节点宕机,队列中的消息就会丢失,不能保证高可用

  1. 镜像集群

https://i-blog.csdnimg.cn/direct/1f2b3e1dee1b49b699d257b0207f9286.png

本质是主从模式,具备以下特征:

①  交换机、队列、队列中的消息会在各个MQ的镜像节点之间同步备份

②  创建队列的节点被称为该队列的主节点,备份到其他节点的队列称为该队列的镜像节点。

③  一个队列的主节点可能是另一个队列的镜像节点

④  所有操作都是主节点完成,然后同步给镜像节点

⑤  主节点宕机后,镜像节点会替代成为新的主节点

  1. 仲裁队列

仲裁队列是3.8版本以后的新功能,用来替代镜像队列,特征如下:

①  与镜像队列一样,都是主从模式,支持数据主从同步

②  使用简单,无需复杂配置

③  主从同步基于Raft协议,强一致

https://i-blog.csdnimg.cn/direct/8e07038ab10040cebd0b0c101e6ca668.png