前言
这篇文章以 4.3.0 版本为标准进行讲述在 linux 下部署 RocketMQ 集群(双 MASTER 无 SALVE)实例,在此之前假设前提条件为已经部署了单机实例,可以查看单机部署实例这篇文章。
在业务量达到一定规模后,单机实例的 RocketMQ 也许不太够用了,这个时候就需要扩展 RocketMQ 的规模。
架构演进
在 这篇文章中画出了单机部署下的一个架构图
可以看到,有四个角色,producer 和 consumer 都是业务方的内容,不在 rocketmq 的部署范围之内,而 nameserver 和 broker 都只有一个,如果任意一个发生故障,都会发生单点故障的问题。
这个时候就需要搭建集群,防止单点故障的问题发生以及支持更大的业务量。而在 RocketMQ 中,nameserver 和 broker 都可以进行横向扩展,本篇以 broker 进行讲述搭建 双MASTER无SALVE集群架构
。
横向扩展 broker 有几种架构模式:
- 双 MASTER 无 SLAVE,这是本篇讲述的架构模式,也是生产常用的架构模式
- 双 MASTER 双 SALVE
- 多 MASTER 多 SAVLE
需要加多一个 broker 到目前的架构中去,需要怎么做的?需要停机执行吗?
不需要的,只需要在另一台机器上配置好broker,启动broker,一个新的broker就加入到了当前的架构中去了。
结果架构图如下图所述:
以下是相关 broker-b 的配置
brokerClusterName = DefaultCluster
brokerName = broker-b
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1=172.17.59.147
brokerIP2=172.17.59.147
namesrvAddr=172.17.59.146:5776
autoCreateTopicEnable=true
与 broker-a 对比,必须改的就只有 brokerName
、brokerIP1
和 brokerIP2
属性,其他的都可一致,也可以下载我的 broker-b 配置文件进行修改
欢迎来我的博客查看更多内容
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于