RabbitMQ-高可用机制
1. 高可用机制主要通过一下三种集群模式实现:
普通集群、镜像集群、仲裁队列
2. 普通集群
又名标准集群,特征如下:
① 会在集群的各个节点间共享部分数据,包括交换机、队列元数据。不包含队列中的消息
② 当访问集群的某个节点时,如果队列不在该节点,会从数据所在节点传递到当前节点并返回
③ 队列所在节点宕机,队列中的消息就会丢失,不能保证高可用
3. 镜像集群
本质是主从模式,具备以下特征:
① 交换机、队列、队列中的消息会在各个MQ的镜像节点之间同步备份
② 创建队列的节点被称为该队列的主节点,备份到其他节点的队列称为该队列的镜像节点。
③ 一个队列的主节点可能是另一个队列的镜像节点
④ 所有操作都是主节点完成,然后同步给镜像节点
⑤ 主节点宕机后,镜像节点会替代成为新的主节点
4. 仲裁队列
仲裁队列是3.8版本以后的新功能,用来替代镜像队列,特征如下:
① 与镜像队列一样,都是主从模式,支持数据主从同步
② 使用简单,无需复杂配置
③ 主从同步基于Raft协议,强一致