RabbitMQ集群架构模型与原理解析

一、RabbitMQ集群架构和原理解析

1.RabbitMQ的四种集群架构模式
(1)主从模式
(2)远程模式
(3)镜像模式
(4)多活模式
2.主从模式
(1)简介
warren,主备方案,主节点挂了,从节点继续提供服务
RabbitMQ集群架构模型与原理解析_第1张图片
(2)配置
a.Haproxy配置

listen rabbitmq_cluster
    bind 0.0.0.0:5670
    mode tcp
    option tcplog
    maxconn 10000
    balance roundrobin
    server mq03 192.168.1.9:5672 check inter 1000 rise 2 fall 2 backup
    server mq02 192.168.1.7:5672 check inter 1000 rise 2 fall 2 backup
    server mq01 192.168.1.6:5672 check inter 1000 rise 2 fall 2

注意option要配置成tcp-check,server中带backup的从

3.远程模式
(1)简介
远程通信和复制,实现双活的一种方式,简称Shovel模式
(2)优劣势
配置麻烦,可靠性有待提升
(3)原理
所谓Shovel,就是把消息进行不同数据中心的复制工作,可以跨地域的让两个MQ集群互联
(4)架构模型
RabbitMQ集群架构模型与原理解析_第2张图片
(5)内部实现
RabbitMQ集群架构模型与原理解析_第3张图片

4.镜像模式
(1)简介
RabbitMQ集群最经典的就是Mirror镜像模式,数据非常可靠,可保证100%不丢失
(2)应用场景
实际工作中应用最多,集群实现非常简单,许多互联网大厂都会使用这种镜像模式。
(3)优劣势
a.高可靠
b.数据同步性能优异
c.横向扩展性差
(4)集群架构图
RabbitMQ集群架构模型与原理解析_第4张图片
5.多活模式
(1)简介
实现异地数据复制的主流模式,Shovel模式比较复杂,所以大多使用这种多活或双或模型类实现
(2)优劣势
a.需要依赖RabbitMQ的federation
b.可以实现持续的AMQP数据通信
c.实际配置与应用都比较简单
(3)架构图
RabbitMQ集群架构模型与原理解析_第5张图片
(4)使用federation插件实现上下游互通
RabbitMQ集群架构模型与原理解析_第6张图片

二、RabbitMQ集群架构

1.RabbitMQ整体架构
(1)AMQP协议
RabbitMQ集群架构模型与原理解析_第7张图片
(2)RabbitMQ整体架构图
RabbitMQ集群架构模型与原理解析_第8张图片
2.幂等性
借用数据库的乐观锁机制来理解,就是我们执行一条更新语句,无论执行多少次,结果都是一致的。

你可能感兴趣的:(消息队列,rabbitmq,队列)