一.消息队列如何保证高可用性?

rabbitMQ不是分布式的架构设计

分为三种设计模式:

一.单机模式

 

二.普通集群模式(可用性无保障,只是解决了吞吐量问题,但是对于HA高可用并不能进行保障)

三.镜像集群模式(具有HA高可用性,但是本质也是一个集群部署的方式)

 

二.普通集群模式图

消息队列-------如何保证高可用性(HA)_数据

用户    rabbitMQ作为集群进行部署到多台机器上

          queue 之间的元数据,相互沟通,定位,作为一个路由的规则,来找到rabbitMQ节点实际的数据

存在的缺点: 1.在rabbitMQ内部产生大量数据传输

                      2.可用性几乎没有任何保障,如果那个queue所在的节点宕机了,该节点所存储的数据,便消失啦

 

四.镜像集群模式图、

消息队列-------如何保证高可用性(HA)_数据_02

实际的数据都会被rabbitMq同步过来,从而实现数据多重备份,实现消息队列的高可用性(HA)HA

每个队列都包含全部镜像,‘任何一个节点宕机了,其他节点上都包含这个queue 的完整数据

别的consumer 都可以到其他活着的节点上消费数据

缺点:

他不是分布式得

将会导致一个rabbitMq的数据量非常大