架构演进 |RocketMQ 集群搭建

本贴最后更新于 845 天前,其中的信息可能已经天翻地覆

前言

这篇文章以 4.3.0 版本为标准进行讲述在 linux 下部署 RocketMQ 集群(双 MASTER 无 SALVE)实例,在此之前假设前提条件为已经部署了单机实例,可以查看单机部署实例这篇文章。

在业务量达到一定规模后,单机实例的 RocketMQ 也许不太够用了,这个时候就需要扩展 RocketMQ 的规模。

架构演进

在 这篇文章中画出了单机部署下的一个架构图

可以看到,有四个角色,producer 和 consumer 都是业务方的内容,不在 rocketmq 的部署范围之内,而 nameserver 和 broker 都只有一个,如果任意一个发生故障,都会发生单点故障的问题。

这个时候就需要搭建集群,防止单点故障的问题发生以及支持更大的业务量。而在 RocketMQ 中,nameserver 和 broker 都可以进行横向扩展,本篇以 broker 进行讲述搭建 双MASTER无SALVE集群架构

横向扩展 broker 有几种架构模式:

需要加多一个 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 对比,必须改的就只有 brokerNamebrokerIP1brokerIP2 属性,其他的都可一致,也可以下载我的 broker-b 配置文件进行修改

欢迎来我的博客查看更多内容

  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:PipeSoloSymWide 等。

    1114 引用 • 3443 回帖 • 467 关注
  • RocketMQ
    18 引用 • 10 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2907 引用 • 8117 回帖 • 678 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    132 引用 • 428 回帖

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...