我可以配置 kafka 以便消费者使用一个网络接口而集群复制使用另一个吗?
Can I configure kafka so that consumers use one network interface and cluster replication uses another?
有没有一种方法可以配置 kafka,使复制流量发生在一个网络上,而消费者通过另一个网络连接。从文档看来,broker 和 consumer 都会使用 advertised.listeners
参数。我想分开这个流量。
是的,您可以将 Kafka 配置为对用户和复制流量使用不同的网络接口。
首先,让我们为我们的接口定义一些好听的名字。例如,使用 SASL_SSL
的外部流量的 USERS
接口和另一个仅 SSL
用于复制的接口 REPLICATION
(您可以将任何您想要的协议映射到名称,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
在这个例子中,您将给您的用户 some-network:9092
作为 bootstrap 地址。
花时间阅读有关这些设置的文档:http://kafka.apache.org/documentation/#brokerconfigs
有没有一种方法可以配置 kafka,使复制流量发生在一个网络上,而消费者通过另一个网络连接。从文档看来,broker 和 consumer 都会使用 advertised.listeners
参数。我想分开这个流量。
是的,您可以将 Kafka 配置为对用户和复制流量使用不同的网络接口。
首先,让我们为我们的接口定义一些好听的名字。例如,使用 SASL_SSL
的外部流量的 USERS
接口和另一个仅 SSL
用于复制的接口 REPLICATION
(您可以将任何您想要的协议映射到名称,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
在这个例子中,您将给您的用户 some-network:9092
作为 bootstrap 地址。
花时间阅读有关这些设置的文档:http://kafka.apache.org/documentation/#brokerconfigs