我可以配置kafka以便消费者使用一个网络接口而群集复制使用另一个网络接口吗?

时间:2018-03-23 16:08:14

标签: apache-kafka apache-zookeeper

是否有办法配置kafka,以便复制流量发生在一个网络上,而消费者通过另一个网络连接。从文档中可以看出,经纪人和消费者都会使用advertised.listeners参数。我想将此流量分开。

1 个答案:

答案 0 :(得分:2)

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

首先,让我们为接口定义一些好名字。例如,使用USERS的外部流量的SASL_SSL接口和仅复制REPLICATION的另一个接口SSL(您可以将所需的任何协议映射到名称,{{ 1}}和SASL_SSL只是示例):

SSL

然后定义监听器:

listener.security.protocol.map=USERS:SASL_SSL,REPLICATION:SSL

最后设置内部代理协议:

listeners=USERS://:9092,REPLICATION://:9093
advertised.listeners=USERS://some-network:9092,REPLICATION://another-network:9093

在此示例中,您将为用户inter.broker.listener.name=REPLICATION 提供引导地址。

花点时间阅读有关这些设置的文档:http://kafka.apache.org/documentation/#brokerconfigs