RabbitMQ的高可用机制

通过搭建集群保证高可用

RabbitMQ的集群模式:

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

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

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

镜像集群特征如下:

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

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

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

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

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

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

仲裁集群

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

相关推荐
ZHANG13HAO1 分钟前
OK3568 Android11 实现 App 独占隔离 CPU 核心完整指
linux·运维·服务器
quan_泉15 分钟前
2025信阳市中等职业教育竞赛_网络安全赛项部分题解
linux·服务器·php
傲世(C/C++,Linux)1 小时前
Linux系统编程——exec函数族
linux·服务器
eddy-原1 小时前
阿里云核心服务解析与应用实践
linux·运维·阿里云·云计算
路由侠内网穿透.1 小时前
外网访问可视化工具 Grafana (Linux版本)
linux·运维·服务器·grafana·远程工作
森G2 小时前
四、Linux设备驱动介绍
linux·arm开发·ubuntu
铁锹少年2 小时前
当多进程遇上异步:一次 Celery 与 Async SQLAlchemy 的边界冲突
分布式·后端·python·架构·fastapi
白榆!2 小时前
Linux 基本指令入门:从基础操作到实战应用
linux·运维·服务器
kyle~2 小时前
CPU调度---协程
java·linux·服务器·数据库·c++20
honeysuckle_luo2 小时前
vim常用命令
linux·编辑器·vim