1、主备模式: 实现RabbitMQ的高可用集群,一般在并发和数据量不高的情况下,这种模型非常的好用且简单。主备模式也称之为Warren模式
主备模式架构图
HaProxy配置
备注: rabbitmq集群节点配置 inter 每隔5秒对mq集群做健康检查,
2次正确证明服务器可用, 2次失败证明服务器不可用,并且配置主备机制
2、远程模式(早期使用较多)
远程模式可以实现双活的一种模式,简称Shovel模式,所谓Shovel就是我们把消息进行不同数据中心的复制工作,我们可以跨地域的让两个mq集群互联。
远距离通信和复制,所谓Shovel就是我们可以把消息进行不同数据中心的复制工作,我们可以跨地域的让两个mq集群互联。
使用了shovel插件后,模型变成了近端同步确认,远端异步确认的方式,大大提高了订单确认速度,并且还能保住可靠性。
远程模式: Shovel集群的拓扑如下图所示
Shovel集群的配置,首先启动rabbitmq插件,命令如下
rabbitmq-plugins enable amqp_client
rabbitmq-plugins enable rabbitmq_shovel
3、镜像模式
集群模式非常经典的就是Mirror镜像模式,保证100%数据不丢失,在实际工作中也是用的最多。
并且实现集群非常简单,一般互联网大厂都会构建这种镜像集群模式。
Mirrow镜像队列:目的是为了保证rabbitmq数据的高可靠性解决方案,主要就是实现数据的同步,一般来将是2~3个节点实现同步。
(对于100%数据可靠性解决方案一般是3个节点)集群架构如下: