admin_jh9 发表于 2024-6-28 15:49:48

Docker Compose 一键快速部署 RocketMQ

Apache RocketMQ是一个开源的分布式消息中间件系统,最初由阿里巴巴开发并贡献给Apache软件基金会。RocketMQ提供了高性能、高可靠性、高扩展性和低延迟的消息传递服务,适用于构建大规模分布式系统中的消息通信和数据同步。

RocketMQ支持多种消息模型,包括点对点(P2P)和发布/订阅(Pub/Sub)模型。它具有以下特性:

- 高性能:RocketMQ能够处理大规模消息传递,并具有低延迟和高吞吐量的特点。
- 高可靠性:RocketMQ提供了消息的持久化存储和消息重试机制,确保消息不丢失,同时支持容错和高可用性。
- 高扩展性:RocketMQ支持横向扩展,能够轻松地扩展到多个Broker节点以处理大量消息。
- 丰富的特性:RocketMQ提供了丰富的特性,包括延迟消息、顺序消息、事务消息、消息过滤等。
- 监控和管理:RocketMQ提供了丰富的监控和管理工具,用于监控消息的生产和消费情况,以及管理消息队列的配置和状态。

> 按照下面步骤,通过Docker Compose 一键快速部署 RocketMQ

#### 1.编写docker-compose

复制下面的内容,创建 `docker-compose.yml` 文件

```yaml
version: '3.8'


services:
namesrv:
    image: registry.cn-hangzhou.aliyuncs.com/jeecgdocker/rocketmq:4.9.6
    container_name: rmqnamesrv
    ports:
      - 9876:9876
    networks:
      - rocketmq
    command: sh mqnamesrv


broker:
    image: registry.cn-hangzhou.aliyuncs.com/jeecgdocker/rocketmq:4.9.6
    container_name: rmqbroker
    ports:
      - 10909:10909
      - 10911:10911
      - 10912:10912
    environment:
      - NAMESRV_ADDR=namesrv:9876
    depends_on:
      - namesrv
    networks:
      - rocketmq
    command: sh mqbroker


dashboard:
    image: registry.cn-hangzhou.aliyuncs.com/jeecgdocker/rocketmq-dashboard:latest
    container_name: rmqdashboard
    ports:
      - 8080:8080
    environment:
      - JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876
    depends_on:
      - namesrv
    networks:
      - rocketmq


networks:
rocketmq:
    driver: bridge
```

#### 2.启动RocketMQ集群

执行下面命令,根据 docker-compose.yml 创建RockerMQ集群

```shell
docker-compose up -d
```

#### 3.关闭RocketMQ集群

根据 docker-compose.yml 文件关闭所有服务。

```shell
docker-compose down
```

#### 4.访问RocketMQ管理界面

!(data/attachment/forum/202406/28/074942jf75zf0j79187a7n.png "QQ图片20240628154916.png")

!(data/attachment/forum/202406/28/074946tbxmbm8ffb88aia0.png "QQ图片20240628154928.png")

关于RocketMQ如何集成到项目中使用,可以参考JeecgBoot开源项目
https://github.com/jeecgboot/JeecgBoot

页: [1]
查看完整版本: Docker Compose 一键快速部署 RocketMQ