163 lines
4.5 KiB
YAML
163 lines
4.5 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# RocketMQ NameServer Cluster
|
|
namesrv-1:
|
|
image: apache/rocketmq:5.0.0
|
|
container_name: rocketmq-namesrv-1
|
|
hostname: namesrv-1
|
|
ports:
|
|
- "9876:9876"
|
|
environment:
|
|
- NAMESRV_PORT=9876
|
|
- JAVA_OPTS=-Duser.home=/home/rocketmq
|
|
volumes:
|
|
- ./data/namesrv-1:/home/rocketmq/store
|
|
- ./config/namesrv-1.conf:/home/rocketmq/rocketmq-5.0.0/conf/namesrv-1.conf
|
|
command: sh mqnamesrv
|
|
networks:
|
|
- rocketmq-net
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9876"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
namesrv-2:
|
|
image: apache/rocketmq:5.0.0
|
|
container_name: rocketmq-namesrv-2
|
|
hostname: namesrv-2
|
|
ports:
|
|
- "9877:9876"
|
|
environment:
|
|
- NAMESRV_PORT=9876
|
|
- JAVA_OPTS=-Duser.home=/home/rocketmq
|
|
volumes:
|
|
- ./data/namesrv-2:/home/rocketmq/store
|
|
- ./config/namesrv-2.conf:/home/rocketmq/rocketmq-5.0.0/conf/namesrv-2.conf
|
|
command: sh mqnamesrv
|
|
networks:
|
|
- rocketmq-net
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9876"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
# RocketMQ Broker Cluster
|
|
broker-master-1:
|
|
image: apache/rocketmq:5.0.0
|
|
container_name: rocketmq-broker-master-1
|
|
hostname: broker-master-1
|
|
ports:
|
|
- "10911:10911"
|
|
- "10912:10912"
|
|
- "10909:10909"
|
|
environment:
|
|
- NAMESRV_ADDR=namesrv-1:9876;namesrv-2:9876
|
|
- JAVA_OPTS=-Duser.home=/home/rocketmq
|
|
- JAVA_HOME=/usr/lib/jvm/java-17-openjdk
|
|
volumes:
|
|
- ./data/broker-master-1:/home/rocketmq/store
|
|
- ./config/broker-master-1.conf:/home/rocketmq/rocketmq-5.0.0/conf/broker.conf
|
|
command: sh mqbroker -c /home/rocketmq/rocketmq-5.0.0/conf/broker.conf
|
|
depends_on:
|
|
namesrv-1:
|
|
condition: service_healthy
|
|
namesrv-2:
|
|
condition: service_healthy
|
|
networks:
|
|
- rocketmq-net
|
|
|
|
broker-master-2:
|
|
image: apache/rocketmq:5.0.0
|
|
container_name: rocketmq-broker-master-2
|
|
hostname: broker-master-2
|
|
ports:
|
|
- "10921:10911"
|
|
- "10922:10912"
|
|
- "10929:10909"
|
|
environment:
|
|
- NAMESRV_ADDR=namesrv-1:9876;namesrv-2:9876
|
|
- JAVA_OPTS=-Duser.home=/home/rocketmq
|
|
- JAVA_HOME=/usr/lib/jvm/java-17-openjdk
|
|
volumes:
|
|
- ./data/broker-master-2:/home/rocketmq/store
|
|
- ./config/broker-master-2.conf:/home/rocketmq/rocketmq-5.0.0/conf/broker.conf
|
|
command: sh mqbroker -c /home/rocketmq/rocketmq-5.0.0/conf/broker.conf
|
|
depends_on:
|
|
namesrv-1:
|
|
condition: service_healthy
|
|
namesrv-2:
|
|
condition: service_healthy
|
|
networks:
|
|
- rocketmq-net
|
|
|
|
broker-slave-1:
|
|
image: apache/rocketmq:5.0.0
|
|
container_name: rocketmq-broker-slave-1
|
|
hostname: broker-slave-1
|
|
ports:
|
|
- "10931:10911"
|
|
- "10932:10912"
|
|
- "10939:10909"
|
|
environment:
|
|
- NAMESRV_ADDR=namesrv-1:9876;namesrv-2:9876
|
|
- JAVA_OPTS=-Duser.home=/home/rocketmq
|
|
- JAVA_HOME=/usr/lib/jvm/java-17-openjdk
|
|
volumes:
|
|
- ./data/broker-slave-1:/home/rocketmq/store
|
|
- ./config/broker-slave-1.conf:/home/rocketmq/rocketmq-5.0.0/conf/broker.conf
|
|
command: sh mqbroker -c /home/rocketmq/rocketmq-5.0.0/conf/broker.conf
|
|
depends_on:
|
|
namesrv-1:
|
|
condition: service_healthy
|
|
namesrv-2:
|
|
condition: service_healthy
|
|
networks:
|
|
- rocketmq-net
|
|
|
|
broker-slave-2:
|
|
image: apache/rocketmq:5.0.0
|
|
container_name: rocketmq-broker-slave-2
|
|
hostname: broker-slave-2
|
|
ports:
|
|
- "10941:10911"
|
|
- "10942:10912"
|
|
- "10949:10909"
|
|
environment:
|
|
- NAMESRV_ADDR=namesrv-1:9876;namesrv-2:9876
|
|
- JAVA_OPTS=-Duser.home=/home/rocketmq
|
|
- JAVA_HOME=/usr/lib/jvm/java-17-openjdk
|
|
volumes:
|
|
- ./data/broker-slave-2:/home/rocketmq/store
|
|
- ./config/broker-slave-2.conf:/home/rocketmq/rocketmq-5.0.0/conf/broker.conf
|
|
command: sh mqbroker -c /home/rocketmq/rocketmq-5.0.0/conf/broker.conf
|
|
depends_on:
|
|
namesrv-1:
|
|
condition: service_healthy
|
|
namesrv-2:
|
|
condition: service_healthy
|
|
networks:
|
|
- rocketmq-net
|
|
|
|
# RocketMQ Dashboard (监控)
|
|
rocketmq-dashboard:
|
|
image: apache/rocketmq-dashboard:latest
|
|
container_name: rocketmq-dashboard
|
|
ports:
|
|
- "8080:8080"
|
|
environment:
|
|
- JAVA_OPTS=-Dserver.port=8080
|
|
- ROCKETMQ_CONFIG_NAMESRVADDR=namesrv-1:9876;namesrv-2:9876
|
|
- ROCKETMQ_CONFIG_ISVIPCHANNEL=false
|
|
depends_on:
|
|
- namesrv-1
|
|
- namesrv-2
|
|
networks:
|
|
- rocketmq-net
|
|
|
|
networks:
|
|
rocketmq-net:
|
|
driver: bridge
|