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,就是双写。

浙公网安备 33010602011771号