RabbitMQ集群架构模式介绍

一、 主备架构模式

1、说明

主节点提供读写,备用节点不提供读写。

如果主节点挂了,就切换到备用节点,原来的备用节点升级为主节点提供读写服务,当原来的主节点恢复运行后,原来的主节点就变成备用节点。

2、架构图

 

二、镜像mirro架构模式【最主流】

1、说明

多个节点的RabbitMQ互为主备,保证了数据的100%不丢失。使用Ha-proxy和keepalived保证了架构的高负载高可用。

在RabbitMQ镜像mirro架构模式中,有两种写入方式可选,分别是普通队列和镜像队列。如果选择镜像队列,则一条命令在所有节点都会执行完后才判定执行成功;如果选择普通队列,则一条命令再当前节点执行完后就会判定执行成功。

2、架构图

 

三、多活架构模式

1、说明

该架构模式是实现异地数据复制的主流模式。

这种模式需要依赖 RabbitMQ的 federation 插件,可以实现持续的,可靠的 AMQP 数据通信,多活模式在实际配置与应用非常的简单。

在多活架构模式下,采用双中心模式(多中心),在两套(或多套)数据中心各部署一套 RabbitMQ 集群,各中心的 RabbitMQ 服务除了需要为业务提供正常的消息服务外,中心之间还需要实现部分队列消息共享。

2、架构图