发布网友 发布时间:2024-09-30 09:04
共1个回答
热心网友 时间:2024-10-07 05:05
本文详细解释了Kafka配置中的内外网分流以及常见通信配置。首先,listeners属性定义了Broker监听网络请求的通道,需要设置IP:Port,如"advertised.listeners"用于公开的监听器,让其他Broker和客户端知道Broker的通信地址。
配置中,listener.security.protocol.map是监听器名称与安全协议的映射关系,如默认的PLAINTEXT、SSL、SASL_PLAINTEXT和SASL_SSL。当自定义监听器时,需要明确其对应的安全协议,如示例中的"INSIDE:PLAINTEXT,OUTSIDE:SSL"。
在部署时,如果listeners和advertised.listeners配置的IP不一致,会导致连接失败。因此,通常保持一致,或者在内网环境下使用"0.0.0.0"监听任意IP,但需确保advertised.listeners指定对外暴露的IP。
对于内外网分流,可以配置多个监听器,如"INSIDE"监听内网IP和"OUTSIDE"监听外网IP,确保内部通信使用内网监听器,外部客户端则通过外网访问。
在多机器集群部署中,如果一台机器上部署多个Broker,可以使用默认的监听名称,但建议不固定特定IP,以适应网络环境的变化。内网环境通常采用明文或其他安全协议。
最后,对于Controller与Broker的通信,control.plane.listener.name和security.inter.broker.protocol分别用于Controller与Broker间的通信,确保每个角色都有独立的网络通信线程。
通过这些配置,可以有效地实现Kafka在不同环境下的网络通信和安全控制。