126 lines
6.1 KiB
Markdown
126 lines
6.1 KiB
Markdown
# RocketMQ部署
|
||
## 1、集群规划:
|
||
|
||
> 两台机,部署两主两从4个broker,2个name server
|
||
> - 【192.168.70.17】192.168.1.31 (dify) :部署1个name server,broker-a(主),broker-b-s(从),name server嵌入Controller
|
||
> - 【192.168.70.15】19.168.1.8 (rocky) : 部署1个name server,broker-b(主),broker-a-s(从),name server嵌入Controller
|
||
|
||
> 机器 VPN IP NameServer Broker Master Broker Slave
|
||
> 本地A 192.168.70.17 ✅ broker-a broker-b-s(b的从)
|
||
> 本地B 192.168.70.15 ✅ broker-b broker-a-s(a的从)
|
||
|
||
|
||
| 模块 | 默认端口 | 作用 | 是否可修改 | 是否对外 |
|
||
| --------------------- | ------------ | --------------------------------- | ------------------ | ---------- |
|
||
| **NameServer** | 9876 | 注册中心,Producer/Consumer通过它查找Broker | ✅ 可改 | ✅ 通常暴露给客户端 |
|
||
| **Broker ListenPort** | 10911 | Broker 服务监听端口(处理生产/消费请求) | ✅ 可改(listenPort) | ✅ 客户端访问 |
|
||
| **Broker HA 端口** | 10912 | Broker 主从同步使用的端口(仅主监听) | ✅ 可改(haListenPort) | ❌ 仅内部通信 |
|
||
| **DLedger 端口** | 自定义(如 40911) | DLedger 主从同步(替代 HA 模式) | ✅ 可改(dLegerPeers中) | ❌ 仅主从间同步 |
|
||
| **Controller 端口** | 10909 | RocketMQ 5 中控制器模式下,主控端口 | ✅ 可改 | ❌ 控制集群 |
|
||
| **Console Web UI** | 8080(或自定义) | Web 管理面板端口(SpringBoot 应用) | ✅ | ✅ 提供给运维/开发 |
|
||
|
||
|
||
生产者 Producer -------------------------+
|
||
|
|
||
消费者 Consumer ------------------------+--> [NameServer:9876]
|
||
|
|
||
↓
|
||
[NameServer:9876] <----> [多个 Broker:listenPort,如10911]
|
||
|
||
Broker 主 ←──→ Broker 从: [HA 模式用 10912] 或 [DLedger 用 40911/40912]
|
||
|
||
Console Web UI(8080) 通过 9876 查询路由,10911 管理 Broker 状态
|
||
|
||
|
||
本地机器A: 本地局域网IP:192.168.1.31;腾讯云ssl openvpn IP(用于跟腾讯云服务器内网通信):192.168.70.17。
|
||
本地机器B: 本地局域网IP:192.168.1.8;腾讯云ssl openvpn IP(用于跟腾讯云服务器内网通信):192.168.70.15。
|
||
现在我在web加密看到的BrokerIP地址是192.168.1.x:10911,加云服务器能正常生产和消费到这里面吗?
|
||
|
||
|
||
|
||
RocketMQ部署,初步规划:
|
||
线上的帖子分析:
|
||
两台机,部署两主两从4个broker,2个name server
|
||
本地机器A: 本地局域网IP:192.168.1.31;腾讯云ssl openvpn IP(用于跟腾讯云服务器内网通信):192.168.70.17。部署1个name server,broker-a(主),broker-b-s(从)
|
||
本地机器B: 本地局域网IP:192.168.1.8;腾讯云ssl openvpn IP(用于跟腾讯云服务器内网通信):192.168.70.15。部署1个name server,broker-b(主),broker-a-s(从)
|
||
|
||
有什么要优化的吗,这里的"主从",是只name server的主从还是broker的主从?还是这两者都有主从?可以自动切换主从吗?是要添加Controller?还是Controller就是在ame server内的?
|
||
|
||
|
||
|
||
|
||
|
||
docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.70.15:9876" -p 8080:8080 -t apacherocketmq/rocketmq-dashboard:latest
|
||
|
||
|
||
机器A:broker-a(主)
|
||
brokerClusterName = TestCluster
|
||
brokerName=broker-a
|
||
brokerId=0
|
||
brokerRole=SYNC_MASTER
|
||
flushDiskType=SYNC_MASTER
|
||
namesrvAddr=192.168.70.17:9876;192.168.70.15:9876
|
||
enableDLegerCommitLog=true
|
||
dLegerGroup=dlmq-a
|
||
dLegerPeers=n0-192.168.70.17:40911;n1-192.168.70.15:40911
|
||
dLegerSelfId=n0
|
||
storePathRootDir=/data/rocketmq/store/broker-a
|
||
storePathCommitLog=/data/rocketmq/store/broker-a/commitlog
|
||
storePathConsumeQueue=/data/rocketmq/store/broker-a/consumequeue
|
||
storePathIndex=/data/rocketmq/store/broker-a/index
|
||
storeCheckpoint=/data/rocketmq/store/broker-a/checkpoint
|
||
abortFile=/data/rocketmq/store/broker-a/abort
|
||
|
||
机器B:broker-a(从)
|
||
brokerClusterName = TestCluster
|
||
brokerName=broker-a
|
||
brokerId=0
|
||
brokerRole=SYNC_MASTER
|
||
flushDiskType=SYNC_MASTER
|
||
namesrvAddr=192.168.70.17:9876;192.168.70.15:9876
|
||
enableDLegerCommitLog=true
|
||
dLegerGroup=dlmq-a
|
||
dLegerPeers=n0-192.168.70.17:40911;n1-192.168.70.15:40911
|
||
dLegerSelfId=n1
|
||
storePathRootDir=/data/rocketmq/store/broker-a-s
|
||
storePathCommitLog=/data/rocketmq/store/broker-a-s/commitlog
|
||
storePathConsumeQueue=/data/rocketmq/store/broker-a-s/consumequeue
|
||
storePathIndex=/data/rocketmq/store/broker-a-s/index
|
||
storeCheckpoint=/data/rocketmq/store/broker-a-s/checkpoint
|
||
abortFile=/data/rocketmq/store/broker-a-s/abort
|
||
|
||
机器B:broker-b(主)
|
||
brokerClusterName = TestCluster
|
||
brokerName=broker-b
|
||
brokerId=0
|
||
brokerRole=SYNC_MASTER
|
||
flushDiskType=SYNC_MASTER
|
||
namesrvAddr=192.168.70.17:9876;192.168.70.15:9876
|
||
enableDLegerCommitLog=true
|
||
dLegerGroup=dlmq-b
|
||
dLegerPeers=n0-192.168.70.15:40911;n1-192.168.70.17:40911
|
||
dLegerSelfId=n0
|
||
storePathRootDir=/data/rocketmq/store/broker-b
|
||
storePathCommitLog=/data/rocketmq/store/broker-b/commitlog
|
||
storePathConsumeQueue=/data/rocketmq/store/broker-b/consumequeue
|
||
storePathIndex=/data/rocketmq/store/broker-b/index
|
||
storeCheckpoint=/data/rocketmq/store/broker-b/checkpoint
|
||
abortFile=/data/rocketmq/store/broker-b/abort
|
||
|
||
机器A:broker-b-s(从)
|
||
brokerClusterName = TestCluster
|
||
brokerName=broker-b
|
||
brokerId=0
|
||
brokerRole=SYNC_MASTER
|
||
flushDiskType=SYNC_MASTER
|
||
namesrvAddr=192.168.70.17:9876;192.168.70.15:9876
|
||
enableDLegerCommitLog=true
|
||
dLegerGroup=dlmq-b
|
||
dLegerPeers=n0-192.168.70.15:40911;n1-192.168.70.17:40911
|
||
dLegerSelfId=n1
|
||
storePathRootDir=/data/rocketmq/store/broker-b-s
|
||
storePathCommitLog=/data/rocketmq/store/broker-b-s/commitlog
|
||
storePathConsumeQueue=/data/rocketmq/store/broker-b-s/consumequeue
|
||
storePathIndex=/data/rocketmq/store/broker-b-s/index
|
||
storeCheckpoint=/data/rocketmq/store/broker-b-s/checkpoint
|
||
abortFile=/data/rocketmq/store/broker-b-s/abort |