跳到主要内容
版本:1.0.0(开发版)

选择部署拓扑

应按需要支持的故障模型、客户端入口和运维责任选择部署方式。最小学习系统与生产 HA 系统共享概念,但地址、存储、身份和恢复流程不同。

从必需组件开始

普通 Rust 客户端访问需要 NameServer 发现,以及具有可用存储和主题/消费者组配置的 Broker。客户端必须同时访问发现端点和 Broker 公布端点。Controller、Proxy、Dashboard 和 AI 产品属于额外选择。

拓扑需要增加的内容提供的能力应评估的边界
本地单 Broker一个 NameServer、LocalFile Broker 和客户端完整学习与开发链路无副本或自动故障转移
多个独立 Broker独立 Broker 身份与存储更多消息放置与队列容量增加 Broker 不会自动形成副本
默认主副本 HA匹配的主副本配置与 HA 连通性按所选角色/确认策略复制实际副本进度与可容忍故障窗口
Controller 管理 HARust Controller quorum 与相应 Broker协调角色与副本状态管理quorum、写入权、租约和持久成员关系
Proxy ClusterProxy 加已有集群gRPC 及可选 remoting 入口后端可达性、安全和有界会话状态
Proxy LocalProxy 持有嵌入式 Broker 组合合并协议入口与本地消息服务共享进程故障与生命周期
Kubernetes镜像、存储、身份、放置和编排可重复的进程放置与生命周期控制编排本身不会创造消息持久性

第一种拓扑参见本地源码搭建快速开始,其中主题、组和客户端应用已经配套。其他拓扑需要先理解其故障与所有权边界。

地址属于拓扑设计

分别管理监听、公布和发现。监听器可以成功绑定,却公布客户端不可达的地址。宿主机回环、容器回环和 Pod 地址属于不同网络位置。

列出 NameServer remoting、Broker 普通/fast remoting 与 HA、Controller remoting/Raft,以及可选 Proxy、探针或遥测端点。为所选组合配置实际使用的监听器,仅开放 NameServer 端口并不足够。

复制部署中的每个成员需要独立数据路径和稳定身份。同一机器上的副本可以演示协议行为,但不能容忍整机丢失。备份策略还需要定义恢复边界,副本可用性不能替代备份恢复。

源码与部署资产

需求当前源码入口
单机 Rust 搭建本地教程配置
主副本配置示例Broker 发行配置
Controller 成员、存储与启动Controller 指南
Proxy Local/Cluster 与接入Proxy 指南
核心服务容器组装核心服务 Dockerfile
核心 Helm 部署 profilerocketmq-rust-core chart
更广的 Kubernetes 集成资产Kubernetes 资产指南

核心服务 Dockerfile 将指定二进制和配置复制到镜像中,不是通用源码构建命令。源码版本或 Dockerfile 不能证明存在匹配的公开镜像标签,应选择实际部署发行版提供的资产。

仓库包含两条不同的 Helm 路径。rocketmq-rust-core 提供开发、默认 HA、Controller HA 和 Proxy TLS 等核心服务 profile。范围更广的 rocketmq-rust 集成 chart 与 Kubernetes base 还包含 MCP 和发行状态流程。它们的开发 profile、安全输入和镜像假设不同,不能仅按名称混用 values。

已提交 Kubernetes base 使用本地镜像 fixture,文档明确要求提供预期镜像/发行输入后才能部署。渲染 YAML 只能证明渲染配置的情况,不能证明 Pod、PVC 恢复或故障转移成功。

安全与配置所有权

本地教程的不安全开发 profile 要求回环监听。共享网络部署需要配置所选服务的真实认证、授权和传输。

进程 bootstrap 要求、TLS 接线和资源权限应分别理解。编译 TLS 代码不会配置监听器或客户端信任;启用认证却未配置内部客户端身份,可能使服务间通信失败。

使用各产品自己的配置加载器和部署指南。部署配置存储 secret 引用,secret 值存储在所选密钥系统或挂载输入中。若凭证或证书仅在启动时加载,轮换需要执行相应重启流程。

就绪与关闭

就绪应描述组件提供流量服务所需的依赖。Broker 进程可能已存活,但存储恢复、注册或角色获取尚未完成;Controller 也可能已经监听,但尚无可用 quorum 或已应用状态。

ServiceLifecycle 协调就绪/存活和统一关闭截止时间。应在编排终止预算内为组件清理留足时间,并在正常重启时保留状态目录。运行时设计解释关闭报告能证明和不能证明的内容。

核心 Helm chart 中,NameServer/Broker/Controller StatefulSet 使用 OnDelete 更新,Proxy 使用自己的 Deployment 策略。更新配置校验字段,不会自动重启所有有状态服务。修改 Controller peer 列表,也不等于执行在线 Raft 成员变更。

有明确目的地扩展系统

核心消息链路可用后再接入可观测性,然后通过生态总览选择所需管理或 AI 产品。各产品保持独立存储、身份和入口。

能力矩阵列出 feature/模式条件,存储设计解释持久性,首次诊断提供初次运行检查。

本总览用于选择路径和说明条件,不表示本地单 Broker 教程已经验证 HA、Kubernetes 或生产安全场景。

进入具体部署路径

容器说明镜像封装与持久挂载;多节点扩展发现服务和独立 Broker 组;HA区分默认复制与 Controller 权限。需要相应入口时添加 Proxy,或选择匹配的 Kubernetes profile

虚线表示部署封装选择,不表示网络连接。每个 Broker 拥有自己的存储;Controller 存储保存控制元数据,与 Broker 消息存储分离。完成所选路径后,继续安全生产自查维护恢复