兄弟们,有用到RocketMQ 5.1.4集群的嘛?请教一下关于公网访问内网RocketMQ集群
我加了rocketmq的官方钉钉群,在群里有官方人员回复了:说nameserver 是mq集群的注册中心,如果代码中使用nameserver连接mq集群,他们必须都在一个内网中,或者broker的配置中ip1用主机的公网ip,否则外部通过nameserver连接不了;但rocketmq提供了一个proxy代理,我们可以通过配置proxy代理,把proxy代理的remotingListenPort给暴露出来,外部服务就可以通过这个连接内网的rocketmq集群了;代理的配置文件:
cat /home/rocketmq/rocketmq-5.1.4/conf/rmq-proxy.json
{
'rocketMQClusterName': 'DefaultCluster',
'remotingListenPort':28080,
'grpcServerPort':28081
}
然后启动broker的时候要加上--enable-proxy 例如:在机器A,启动第一个Master,例如NameServer的IP为:192.168.1.1
nohup sh bin/mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-a.properties --enable-proxy &
然后把28080和28081映射出去:现在外部代码只需要连接这个28080的proxy端口就可访问内部mq集群了
赞0
踩0