上一次学习了基本原理和使用,本篇学习下生产环境下的高可用原理及实现。
高可用架构
主备模式
一主一备或一主多备,在并发不是很大的场景可以使用这种模式,主节点负责读写,当主节点宕机之后,会切换到备用节点,也就是说备用节点会变成主节点,从而继续提供服务。
注重主备模式也称 Warren(兔子窝) 模式,是不是很形象!
HaProxy 会定期轮询做健康检查,切换设备,实现高可用。
远程模式
远程模式,也叫 Shovel 模式,它可以远距离的让两个集群的数据进行通信和复制。可以跨地域的让两个 MQ 集群互联。
不常用。
镜像模式
Mirror 模式,这种架构实际用的很多,能保证数据 100% 不丢失,而且使用简单。
在每个 MQ 节点中都有一个镜像队列用于数据的备份,然后每个节点的镜像队列互相通信复制,即时某个节点挂了,数据仍然不会丢失。如图:
多活模式
如果担心集群也挂掉,这个时候就可以搞多集群也就是多活模式,一般是两个集群中心,通过插件来保持集群之间的数据通信问题。
镜像模式高可用配置
一般用的比较多的就是镜像模式了,网上有很多,这里有一个步骤可以参考下:
RabbitMQ消息服务用户手册.docx