Kafka穿过网闸(物理层)进行消费
前言
当前公司有一个场景,就是在互联网服务器搭建kafka集群,在内网环境下进行互联网Kafka集群的消费,在内外网之间搭建一层物理层面的网闸来代理外网服务器。
由于对安全的考虑,内外网服务器都打开了防火墙。当时只使用互联网Kafka集群对内网机器开通了9092
、2181
端口。但是不管怎么对集群进行配置都都达不到穿网消费的效果,消费者始终TimeOut。
最终又去研究了下Kafka消费时网络请求机制才发现,单项端口开通并达不到消费效果,必须双向开通端口才行。
服务器信息
这里用三台机器举例,互联网、内网、网闸各一台
互联网服务器A:
# 主机名
A
# IP
172.17.xxx.xx
# 主机名及IP映射
172.17.xxx.xx A
网闸机器B:
机器属于购买第三方物理网闸,网闸B代理互联网服务器A,只需要在这台机器开放对A的防火墙限制即可。
# ip
10.1.xx.xx