数据复制策略指的是Broker的Master与Slave间的数据同步方式。有两种策略:同步复制与异步复制。
同步复制:消息写入master后,等待slave同步数据成功后才向producer返回成功ACK。
异步复制:消息写入master后,master立即向producer返回成功ACK,无需等待slave同步数据成功。
1.2 刷盘策略异步复制策略可降低系统的写入延迟,提高系统的吞吐量。
刷盘策略指的是broker中消息消息持久化到磁盘的方式,同样有同步刷盘与异步刷盘两种策略。
同步刷盘:当消息持久化到broker的磁盘后才返回消息写入成功的消息。
异步刷盘:当消息写入到broker的内存后即返回消息写入成功的消息,无需等待消息持久化到磁盘。
2、broker集群模式 2.1 多Master1)异步刷盘策略可降低系统的写入延迟,提高系统的吞吐量。
2)消息写入到broke的内存,一般是写入到了PageCache。
3)对于异步刷盘策略,消息会写入到PageCache后立即返回成功ACK,但并不会立即做落盘 *** 作,而是当PageCache到达一定量时会自动进行落盘。
多master的集群仅由多个master构成,不存在Slave,同一Topic的各个Queue会平均分布在各个master节点上。
优点:配置简单,性能最高;
缺点:单台机器宕机期间,这台机器上未被消费的消息在机器恢复之前不可订阅(不可消费), 消息实时性会受到影响。
2.2 多Master多Slave模式-异步复制broker集群由多个master构成,每个master又配置了多个slave。master负责处理消息的读写请求,而slave仅负责消息的备份与master宕机后的角色切换。当消息写入master成功后,master立即向 producer返回成功ACK,无需等待slave同步数据成功。 该模式的最大特点之一是,当master宕机后slave能够自动切换为master。不过由于slave从master的同 步具有短暂的延迟(毫秒级),所以当master宕机后,这种异步复制方式可能会存在少量消息的丢失问 题。
2.3 多Master多Slave模式-同步双写该模式是多Master多Slave模式的同步复制实现。所谓同步双写,指的是消息写入master成功后, master会等待slave同步数据成功后才向producer返回成功ACK,即master与slave都要写入成功后才会返回成功ACK。
该模式与异步复制模式相比,
优点:消息的安全性更高,不存在消息丢失的情况。
缺点:消息的延迟比较高,性能较低。 而且对于目前的版本,Master宕机后,Slave不会自动切换到Master。
3、windows单机环境安装实践 3.1下载安装①RocketMq官网下载4.7.0版本的RocketMq:Apache RocketMQ
②解压到文件夹
3.2 配置环境变量新建一个用户变量ROCKETMQ_HOME,值为刚刚解压的RocketMq安装包,如:
3.3 启动 3.3.1 启动NameServer进入bin目录下,然后执行‘start mqnamesrv.cmd’
3.3.2 启动Broker进入bin目录下,先修改runbroker.cmd,将 %CLASSPATH% 改成 "%CLASSPATH%"
然后执行‘start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true’
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)