1.安装

快速安装 #

常用组件列表 #

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

文档链接 #

部署文档:https://rocketmq.io/course/deploy/rocketmq_learning-gvr7dx_awbbpb_ogr2blaw8vy3tv14/?spm=5176.29160081.0.0.50a9608eZPrXoy

客户端SDK:https://github.com/apache/rocketmq-clients