Apache RocketMQ:万亿级分布式消息平台
Apache RocketMQ:万亿级分布式消息平台
Apache RocketMQ 是一个分布式消息和流处理平台,具备低延迟、高吞吐、高可靠的特点,支持万亿级消息容量和灵活的横向扩展。
项目目前在 GitHub 上获得了 22,470 个 Star。

核心能力
RocketMQ 提供了丰富的消息处理能力:
- 支持发布/订阅、请求/回复、流式等多种消息模式
- 金融级事务消息支持
- 基于 DLedger Controller 的内置容错和高可用配置
- 内置消息追踪能力,同时支持 OpenTracing
- 与大数据和流式生态系统集成
- 支持按时间或偏移量回溯消息
- 同一队列内支持可靠的 FIFO 和严格有序消息
- 高效的拉取和推送消费模型
- 单队列百万级消息堆积能力
- 支持 gRPC、MQTT、JMS、OpenMessaging 等多种协议
- 灵活的分布式横向扩展架构
- 快速的批量消息交换系统
- 支持 SQL 和 Tag 等多种消息过滤机制
- 提供 Docker 镜像用于隔离测试和云隔离集群
- 功能丰富的管理控制台,支持配置、指标和监控
- 支持认证和授权
- 提供免费的开源连接器,支持源和汇
- 轻量级实时计算

快速开始
RocketMQ 支持多种部署方式,包括本地运行、Docker 和 Kubernetes。
本地运行
RocketMQ 支持所有主流操作系统,需要 Java JDK 8 或更高版本。Windows 用户可以直接下载二进制发布包,解压后配置环境变量 ROCKETMQ_HOME 即可使用。macOS 和 Linux 用户可以通过 wget 下载并解压。
启动流程分为两步:
- 启动 NameServer:监听
0.0.0.0:9876端口 - 启动 Broker:连接到 NameServer
Docker 部署
使用 host 网络模式暴露容器端口,可以快速搭建 RocketMQ 环境。先启动 NameServer 容器,再启动 Broker 容器并挂载存储目录。这种方式适合开发测试环境,配置简单,启动快速。
Kubernetes 部署
通过 RocketMQ Operator 可以在 Kubernetes 集群中运行 RocketMQ。需要先安装 CRDs,然后创建集群实例资源。Operator 会自动管理 Broker 主从节点和 NameService 的生命周期。这种方式适合生产环境,提供了完整的集群管理能力。
生态系统
RocketMQ 拥有完整的生态系统:
- RocketMQ Streams:基于 RocketMQ 的轻量级流计算引擎
- RocketMQ Flink:Apache Flink 的 RocketMQ 连接器
- RocketMQ Clients:基于 gRPC/protobuf 的客户端,支持 C++、Go、Python、Node.js
- RocketMQ Spring:帮助开发者快速集成 Spring Boot
- RocketMQ Dashboard:运维控制台
- RocketMQ Connect:在 RocketMQ 和其他系统之间进行数据流传输的工具
- RocketMQ MQTT:支持物联网设备和移动端消息的 MQTT 协议架构
- RocketMQ EventBridge:构建事件驱动应用的工具
- RocketMQ Exporter:Prometheus 的 RocketMQ 导出器
- RocketMQ Operator:在 Kubernetes 上运行 RocketMQ 集群的工具
- RocketMQ Docker:RocketMQ 的 Docker 镜像仓库
社区与支持
项目托管在 Apache 基金会,采用 Apache License 2.0 开源协议。社区活跃,提供邮件列表、文档、问题追踪等多种支持渠道。欢迎开发者参与贡献,无论是代码清理、新功能开发还是其他实质性贡献。项目还提供了完整的导出控制说明,确保合规使用。
表、文档、问题追踪等多种支持渠道。欢迎开发者参与贡献,无论是代码清理、新功能开发还是其他实质性贡献。项目还提供了完整的导出控制说明,确保合规使用。
更多推荐

所有评论(0)