快速安装 #
常用组件列表 #
1.Borker #
roker 是 RocketMQ 的核心服务节点,负责接收来自 Producer(生产者)的消息、存储消息以及将消息转发给 Consumer(消费者)。
默认端口:
10911
: 用于客户端与Broker通信10912
:用于Broker之间的通信, 高可用HA。10909
:管理端口,默认不开启,通常是10911 - 2,当Broker配置启用useTLS为true时,该端口用于支持基于TLS/SSL的加密传输,提供管理功能的网络接口
2.NameServer #
NameServer 是 RocketMQ 的路由服务集群,它不保存任何消息数据,而是维护着所有 Broker 的路由信息(包括 Broker 存活情况、各 topic 的路由信息等)。
Producer 和 Consumer 在发送或订阅消息前,都需要先从 NameServer 获取 Broker 的路由信息,之后才能正确地与 Broker 通信。
默认端口是9876
。
3.Controller #
Controller是 RocketMQ 5.0 新增的组件,它充当控制平面的角色,负责管理和协调系统的整体状态。
默认默认为10913
。
4.Proxy #
Proxy 是 RocketMQ 为了提高性能和简化客户端接入而引入的一个可选组件,用于给客户端提供统一的接入点。
默认端口:
8080
:remoting协议访问端口,默认端口和Dashboard一样8081
:gRPC协议访问端口
5.Dashboard #
是RocketMQ 提供的一款可视化管理界面,它允许用户通过网页浏览器直观地监控和管理 RocketMQ 集群的状态,包括但不限于查看消息队列、消费进度、Broker 健康状况、主题配置、消费组详情等信息。
端口默认是8080
部署 #
docker compose 快速部署 #
快速部署单机节点
version: '3.8'
services:
namesrv:
image: apache/rocketmq:5.3.1
container_name: rmqnamesrv
ports:
- 9876:9876
networks:
- rocketmq
command: sh mqnamesrv
broker:
image: apache/rocketmq:5.3.1
container_name: rmqbroker
ports:
- 10909:10909
- 10911:10911
- 10912:10912
environment:
- NAMESRV_ADDR=rmqnamesrv:9876
depends_on:
- namesrv
networks:
- rocketmq
command: sh mqbroker
proxy:
image: apache/rocketmq:5.3.1
container_name: rmqproxy
networks:
- rocketmq
depends_on:
- broker
- namesrv
ports:
- 8080:8080
- 8081:8081
restart: on-failure
environment:
- NAMESRV_ADDR=rmqnamesrv:9876
command: sh mqproxy
networks:
rocketmq:
driver: bridge