知识点
一般来说高可用,就是指集群等策略;特别是生成环境下,我们肯定是要搭建集群的
- 在生产环境下,使用集群来保证高可用性
- 普通集群、镜像集群、仲裁队列
普通集群(标准集群:严格说来是非高可用的)
- 会在集群的各个节点间共享部分数据,包括:交换机、队列元信息等,不包含队列中的消息。
- 当访问集群某个节点时,如果队列不在该节点,会从数据所在节点传递给当前节点
- 队列所在节点宕机,队列中的数据就丢失了
镜像集群(本质是主从模式)
- 交换机、队列、队列中的消息会在各个MQ的镜像节点之间同步备份
- 创建队列的节点被称为该队列的主节点,备份到其他节点叫做该队列的镜像节点
- 一个队列的主节点可能是另一个队列的镜像节点
- 所有操作都是主节点完成,然后同步给镜像节点
- 主节点宕机后,镜像节点会替代称为新的主节点
这种模式有个小缺点就是:
数据还未同步到镜像节点,主节点就宕机了,造成了数据丢失
仲裁队列(3.8版本后才有的,用来代替镜像队列)
- 与镜像队列一样,都是主从模式,支持主从数据同步
- 使用简单,没有复杂配置
- 主从同步基于Raft协议,强一致