RocketMq集群搭建

RocketMq集群搭建,第1张

RocketMq集群搭建 1、数据复制和刷盘策略 1.1 数据复制

数据复制策略指的是Broker的Master与Slave间的数据同步方式。有两种策略:同步复制与异步复制。

同步复制:消息写入master后,等待slave同步数据成功后才向producer返回成功ACK。

异步复制:消息写入master后,master立即向producer返回成功ACK,无需等待slave同步数据成功。

异步复制策略可降低系统的写入延迟,提高系统的吞吐量。

1.2 刷盘策略

刷盘策略指的是broker中消息消息持久化到磁盘的方式,同样有同步刷盘与异步刷盘两种策略。

同步刷盘:当消息持久化到broker的磁盘后才返回消息写入成功的消息。

异步刷盘:当消息写入到broker的内存后即返回消息写入成功的消息,无需等待消息持久化到磁盘。

1)异步刷盘策略可降低系统的写入延迟,提高系统的吞吐量。
2)消息写入到broke的内存,一般是写入到了PageCache。
3)对于异步刷盘策略,消息会写入到PageCache后立即返回成功ACK,但并不会立即做落盘 *** 作,而是当PageCache到达一定量时会自动进行落盘。

2、broker集群模式 2.1 多Master

多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’

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5700131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存