rocketmq-集群搭建理论
一、集群搭建理论
1、数据复制策略与刷盘策略
复制策略
复制策略是Broker的Master与Slave的数据同步方式。
- 同步复制:Message写到Master后,需要等待Slave同步成功后,才向Producer返回ACK。
- 异步复制:Message写到Master后,Master立即向Producer返回ACK。
刷盘策略
刷盘策略是Broker中的数据落盘的方式。Message发送到Broker的内存后,持久化到磁盘的方式。
- 同步刷盘:当Message持久化到磁盘后才算消息写入成功。
- 异步刷盘:当Message写入到内存后就算成功,不需要等到持久化到磁盘。
2、Broker模式
单Master
只有一个Broker,这种存在单点问题。
多Master
Broker集群仅由多个Master构成,不存在Slave。同一个Topic的各个Queue平均分布在各个Master节点上。
优点:配置简单单个Master宕机或重启对应用没影响,性能最高。
缺点:单台机器宕机期间,这台机器上未消费的消息恢复之前不可订阅。
多Master多Slave-异步复制
Broker集群由多个Master构成,每个Master又配置了多个Slave(在配置磁盘阵列的情况下,一个Master一般配置一个Slave)。Master负责消息的读写请求,Slave负责消息的备份。
异步复制就是前面说的复制策略的异步复制策略,即Message写入Master成功后,立即向Producer返回ACK。
当Master宕机,Slave能自动切换Master。不过由于Slave从Master同步具有短暂的延迟,所以异步复制会存在少量消息丢失。
多Master多Slave-同步双写
该模式是多Master多Slave模式的同步双写。同步双写是写入Master成功后,Master会等待Slave同步数据成功后,才向Producer返回ACK。
即Master与Slave都要写入成功才返回ACK,就是双写。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!