纯增量、host 网络、brokerIP1 指 Tailscale 地址;探针绿、Broker 注册成功、内存在 lean 预算内。 端点写回 docs/内网凭据与端点.md。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
45 lines
2.3 KiB
YAML
45 lines
2.3 KiB
YAML
# =============================================================================
|
|
# RocketMQ 5.3.1 自托管 —— NameServer + 单 Broker + lean JVM(切片一 阶段〇 B2)
|
|
# -----------------------------------------------------------------------------
|
|
# 配置控制面设计 §3.7:game-cloud 是 Spring Cloud Alibaba,RocketMQ 是其原生异步
|
|
# 消息基建,承载异步生成队列(topic = AIGC_GEN_TOPIC)。自托管在 mini-infra,纯增量,
|
|
# 不动既有容器。
|
|
#
|
|
# 三条部署纪律都编进了这里:
|
|
# - lean JVM:该镜像 broker 默认 -Xmx2g、nameserver 默认 -Xmx1g;mini-infra 内存要
|
|
# 留给既有 MySQL / RAGflow / new-api,故经 JAVA_OPT_EXT 压到 broker 1g、namesrv 512m。
|
|
# JAVA_OPT_EXT 在 runbroker.sh / runserver.sh 里拼在默认 HEAP_OPTS 之后,JVM 取最后
|
|
# 一个 -Xmx,故覆盖生效(实测确认)。broker 带 AlwaysPreTouch,启动即提交约 1g 常驻。
|
|
# - network_mode: host:与既有 infra-* 容器一致。NameServer 占 9876,Broker 占 10911
|
|
# (+ 10909 HA、10912 fast)三个 host 端口,均未被既有容器占用。
|
|
# - brokerIP1:在 broker.conf 里钉死 100.64.0.8,保证跨机客户端拿到可达的 broker 地址。
|
|
#
|
|
# 存储 / 日志落宿主 ./data(见 .gitignore,不入仓)。⚠️ 容器以 uid=3000(rocketmq)运行,
|
|
# 部署前必须先在宿主建好 data/store、data/logs 并 chown 3000:3000,否则 broker 无权写
|
|
# CommitLog、起不来。这一步在部署脚本里做,不在 compose 内。
|
|
# =============================================================================
|
|
services:
|
|
namesrv:
|
|
image: apache/rocketmq:5.3.1
|
|
container_name: infra-rmq-namesrv
|
|
restart: unless-stopped
|
|
network_mode: host
|
|
environment:
|
|
JAVA_OPT_EXT: "-Xms512m -Xmx512m -Xmn256m" # 压死默认 1g
|
|
command: sh mqnamesrv
|
|
|
|
broker:
|
|
image: apache/rocketmq:5.3.1
|
|
container_name: infra-rmq-broker
|
|
restart: unless-stopped
|
|
network_mode: host
|
|
depends_on: [namesrv]
|
|
environment:
|
|
JAVA_OPT_EXT: "-Xms1g -Xmx1g -Xmn512m" # 压死默认 2g
|
|
NAMESRV_ADDR: "127.0.0.1:9876" # broker 向本机 NameServer 注册
|
|
volumes:
|
|
- ./broker.conf:/home/rocketmq/rocketmq-5.3.1/conf/broker.conf
|
|
- ./data/store:/home/rocketmq/store
|
|
- ./data/logs:/home/rocketmq/logs
|
|
command: sh mqbroker -c /home/rocketmq/rocketmq-5.3.1/conf/broker.conf
|