RabbitMQ的高可用机制

通过搭建集群保证高可用

RabbitMQ的集群模式:

普通集群,镜像集群(开发时用的多),仲裁集群

普通集群(标准集群)会在各个节点间共享部分数据(交换机和队列元信息),但不包含队列里的消息;如果队列不在该节点,会从数据所在节点传递到当前节点并返回;当所在节点宕机,队列中的消息就会丢失。

镜像集群:本质是主从模式。

镜像集群特征如下:

交换机、队列、队列中的消息会在各个MQ的镜像节点之间同步备份。

创建队列的节点称为该队列的主节点,备份的其他节点叫该队列的镜像节点。

一个队列的主节点可能是另一个队列的镜像节点。

所有操作丢失主节点完成,然后同步给镜像节点(不然数据不就不一致了吗)

主节点宕机后,镜像节点会替代它成为新的主节点。保证了高可用性

数据还没有同步完成,主节点宕机了,就会造成数据丢失。所以采用仲裁队列。

仲裁集群

主从同步采用的Raft协议,强一致性。

相关推荐
回家路上绕了弯4 小时前
接口 QPS 从 100 飙到 1000?从应急到根治的全流程优化方案
分布式·后端
象象翔5 小时前
服务异步通讯---rabbitmq的高级特性
分布式·rabbitmq
盛世隐者5 小时前
【Linux】好用的命令记录
linux
山卡拉噶5 小时前
在Linux中安装Kdump调试环境
linux·运维·服务器
闲猿类5 小时前
嵌入式第九天学习
linux·c语言·学习·算法·嵌入式
CS_浮鱼5 小时前
【Linux】UDP
linux·udp
2501_941144426 小时前
Elasticsearch搜索与日志分析实践分享:高性能索引优化与实时检索经验
rabbitmq
大侠课堂6 小时前
ARM Linux内核异常排查指南
linux·arm开发
DeeplyMind6 小时前
Linux Virtio 子系统核心数据结构解析
linux·驱动开发·virtio-gpu