RocketMQ部署时内外网IP匹配问题
本人在项目中遇到的坑,折腾了好久,分享出来,希望能帮到需要的人!
RocketMQ的集群部署方式和基本原理在此不做赘述,主要说一下在配置过程中的网络ip和防火墙的问题。
背景:MQ部署在公司局域网内,公司内部有服务器集群,对外有一个统一的公网IP,如58.55.44.35,mq部署的服务器局域网IP为192.168.44.31,消息消费者的服务器局域网IP为192.168.44.32,消息生产者为部署在公网上的业务系统(如IP为123.225.66.41);现在要实现在公网上可以连接局域网的MQ服务,并发送消息,那么我们就需要开放公司的局域网防火墙,允许123.225.66.41 和消息消费者(192.168.44.32的公网IP为58.55.44.35)通过端口映射,找到MQ所在的服务器,同时MQ在绑定IP地址时,需要指定IP为公网IP 58.55.44.35,此时就可以在公网上向mq发送消息了,同时消息消费者通过 58.55.44.35:10911(自定义的端口)进行数据消费了!
注意,开通防火墙时,要同时开放公网消息生产者和局域网消息消费者的防火墙权限!!!