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

标签 apache-kafka apache-zookeeper

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

最佳答案

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

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

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

然后定义监听器:

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

最后设置代理间协议(protocol):

inter.broker.listener.name=REPLICATION

在此示例中,您将为用户提供 some-network:9092 作为引导地址。

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

关于apache-kafka - 我是否可以配置 kafka,以便使用者使用一个网络接口(interface),而集群复制使用另一个网络接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49453948/

相关文章:

apache-zookeeper - Curator 中的超时配置

gradle - Scaladocs构建失败kafka

java - Spring cloud stream kafka binder 是否有一个很好的例子来使用通用的 json 消息

java - 确保消息的有序处理

apache-zookeeper - Mesos集群在使用replicated_log时选举master失败

java - 模拟长序列对象(非 UUID)的服务/数据库/技术

apache-zookeeper - 卡夫卡 : Get broker host from ZooKeeper

windows-10 - Zookeeper 管理服务器端口

apache-kafka - 如何从 Kafka brokerslist 中检索 zookeeper 主机详细信息

apache-kafka - 如何获取单个消费者的消费组