Apache kafka 我是否可以配置kafka,以便使用者使用一个网络接口,而群集复制使用另一个?

Apache kafka 我是否可以配置kafka,以便使用者使用一个网络接口,而群集复制使用另一个?,apache-kafka,apache-zookeeper,Apache Kafka,Apache Zookeeper,是否有一种方法可以配置kafka,使复制流量发生在一个网络上,而使用者通过另一个网络连接。从文档中可以看出,代理和消费者都将使用adverted.listeners参数。我想分离此流量。是的,您可以将Kafka配置为对用户和复制流量使用不同的网络接口 首先,让我们为接口定义一些好的名称。例如,使用SASL_SSL进行外部通信的USERS接口,以及仅使用SSL进行复制的另一个接口REPLICATION(您可以将任何协议映射到名称,SASL_SSL和SSL只是示例): 然后定义侦听器: listen

是否有一种方法可以配置kafka,使复制流量发生在一个网络上,而使用者通过另一个网络连接。从文档中可以看出,代理和消费者都将使用
adverted.listeners
参数。我想分离此流量。

是的,您可以将Kafka配置为对用户和复制流量使用不同的网络接口

首先,让我们为接口定义一些好的名称。例如,使用
SASL_SSL
进行外部通信的
USERS
接口,以及仅使用
SSL
进行复制的另一个接口
REPLICATION
(您可以将任何协议映射到名称,
SASL_SSL
SSL
只是示例):

然后定义侦听器:

listeners=USERS://:9092,REPLICATION://:9093
advertised.listeners=USERS://some-network:9092,REPLICATION://another-network:9093
最后设置代理间协议:

inter.broker.listener.name=REPLICATION
在本例中,您将为您的用户
somenetwork:9092
提供引导地址


花点时间阅读关于这些设置的文档:

我想知道使用不同的界面进行复制会有什么样的使用案例或优势。。如果你有一些想法,请投一些光!为了提高性能,您可以这样做,以便复制不会影响用户流量,特别是在使用
replication.factor=3
时。此外,它还允许完全分离外部和内部流量,并且每个接口可以有不同的安全协议。
inter.broker.listener.name=REPLICATION