镜像模式
镜像模式:集群模式非常经典的就是Mirror镜像模式,保证100%数据不丢失,在实际工作中也是用的最多的。
Mirror镜像队列,目的是为了保证rabbitmq数据的高可靠性解决方案,主要是为了实现数据的同步。一般来讲是2-3个节点实现数据同步。(对于100%数据可靠性解决方案一般是3节点)
如上图,三个服务器中的mirror queue数据通过数据同步来保证rabbitmq的高可靠性方案。前端做一个HA-proxyy KeepAlived负载均衡设置。rabbitmq发送过来一条消息,刚开始肯定是落在主服务器上,主服务器将数据进行一个copy,将数据同步到两个两个节点上。镜像队列之所以能保证数据100%不丢失,因为主节点挂了,还有两个从节点可以提供高可靠服务。
多活模式
多活模式,也是实现异地数据复制的主流模式,因为Shovel模式配置比较复杂,比如可能由于版本的原因出现各种问题,所以一般来说实现异地集群都是使用这种双活或者多活模型来实现的。这种模型需要依赖rabbitmq的federation插件,可以实现持续的可靠的AMQP的数据通信。多活模式在实际配置与应用非常简单。
RabbitMQ部署架构采用双中心模式(多中心),那么在两套