ApeCloud
博客开源社区关于我们
首页

/

KubeBlocks开源版

/

RocketMQ Operator

消息队列
开源

在 Kubernetes 上部署 RocketMQ 消息集群

KubeBlocks RocketMQ Operator 支持 DLedger Raft 每分片共识的多组件架构,提供 NameServer 高可用、Broker 分片扩展、顺序消息与事务消息全特性,是 K8s 原生的高性能消息解决方案。

访问 GitHub

DLedger Raft

每分片共识

100%

开源免费

2 步部署生产级 RocketMQ Operator

1

安装 KubeBlocks

# 添加 Helm 仓库
helm repo add kubeblocks https://apecloud.github.io/helm-charts
helm repo update

# 安装 KubeBlocks
helm install kubeblocks kubeblocks/kubeblocks \
  --namespace kb-system --create-namespace
2

创建 RocketMQ Operator 集群

apiVersion: apps.kubeblocks.io/v1
kind: Cluster
metadata:
  name: rocketmq-cluster
  namespace: demo
spec:
  clusterDef: rocketmq
  topology: master-slave
  terminationPolicy: Delete
  componentSpecs:
    - name: namesrv
      resources:
        limits:
          memory: "2Gi"
  shardings:
    - name: broker
      shards: 2
      template:
        name: rocketmq-broker
        resources:
          limits:
            memory: "4Gi"

核心能力

DLedger Raft 每分片共识

每个 Broker 分片内部基于 DLedger Raft 协议达成一致,分片 Leader 故障时自动选举,数据不丢失。

NameServer 高可用

多 NameServer 节点无状态部署,任意节点故障不影响 Broker 注册与客户端路由发现。

Broker 分片水平扩展

支持在线增加 Broker 分片,新分片自动注册到 NameServer,扩容对生产者消费者透明。

全消息类型支持

原生支持普通消息、顺序消息、延迟消息与事务消息,无需修改业务代码。


部署拓扑

多组件 HA 架构

NameServer 无状态多节点部署,每个 Broker 分片内部基于 DLedger Raft 协议达成共识,Exporter 组件暴露 Prometheus 指标,Dashboard 提供 Web 管理控制台。

DLedger Raft
多分片
NameServer HA
JMX 指标
关键特性

NameServer 无状态、可水平扩展,任意节点故障不影响路由服务

每个 Broker 分片内部通过 DLedger Raft 协议达成共识,Leader 故障自动选举

多个 Broker 分片分担 Topic 分区,支持横向扩展写入能力

Exporter 组件在 :5557 暴露 Prometheus 指标,与 Grafana 无缝集成

Dashboard 组件提供 Web 管理控制台(:18080),支持 Topic 与消费组管理

生产者 / 消费者
应用
通过 RocketMQ SDK 发布 / 订阅消息
连接至名称服务器进行路由发现
RocketMQ SDK
路由发现 → 直连代理节点
名称服务器 (服务发现) · :9876
namesrv-0
:9876 · 所有代理节点的路由表
无状态 — 可水平扩展
Pod
namesrv-1
:9876 · 所有代理节点的路由表
无状态 — 可水平扩展
Pod
代理节点注册 → 路由查询
分片 0DLEDGER
⚙️
broker-0-0
:10911 · Raft 主节点
主节点
⚙️
broker-0-1
:10911 · Raft 从节点
从节点
分片 1DLEDGER
⚙️
broker-1-0
:10911 · Raft 主节点
主节点
⚙️
broker-1-1
:10911 · Raft 从节点
从节点
DLedger Raft每个分片运行独立的 Raft 共识 — 主节点故障时在分片内自动重新选举;存活的多数节点继续提供写入服务
可观测性 & 仪表盘
Exporter
Prometheus 指标 :5557
代理节点 JMX sidecar :5556
指标
Dashboard
Web 管理控制台 · :8080
通过 port-forward 18080:8080 访问
Web UI
RocketMQ 代理节点 / 名称服务器
Raft 主节点
Raft 从节点 / 可观测性
客户端流量

常见问题

KubeBlocks RocketMQ Operator 支持哪些 RocketMQ 版本?

KubeBlocks RocketMQ Operator 支持 RocketMQ 4.9、5.0 等主流版本。

DLedger 模式与 Master-Slave 模式有什么区别?

DLedger 模式基于 Raft 协议,Broker 分片内部自动选主,主节点故障后自动选举新 Leader,数据不丢失。传统 Master-Slave 模式主节点故障后需人工介入切换,运维成本更高。

KubeBlocks RocketMQ Operator 是否免费?

KubeBlocks开源版完全开源免费。KubeBlocks企业版 提供图形化控制台与商业支持等增值功能。