首页 > 解决方案 > 一个 Kafka 消费者应用程序可以在 bootstrap.servers 中有多个 DNS 地址吗?

问题描述

环境

卡夫卡 2.7.1

问题

我有两个 dns 地址,包括每个 kafka 代理地址,如下所示。
每个集群都有不同的zookeeper地址
示例:

# kafka cluster 1
kafka1.dns.co.kr = kafka-01:9092,kafka-02:9092,...kafka-10:9092
# kafka cluster 1 zookeeper
zookeeper = zk-01:2181,zk-02:2181,zk-03:2181/cluster-1

# kafka cluster 2
kafka2.dns.co.kr = kafka-11:9092,kafka-12:9092,...kafka-20:9092
# kafka cluster 2 zookeeper
zookeeper = zk-01:2181,zk-02:2181,zk-03:2181/cluster-2

假设每个集群中都有一个topic接收到相同的消息,
如果我在bootstrap.server中注册了两个dns地址,每个集群会创建一个consumer group吗?

例子:

bootstrap.servers = kafka1.dns.co.kr:9092,kafka2.dns.co.kr:9092

标签: apache-kafka

解决方案


不,这对于 Apache Kafka 客户端是不可能的。客户端仅连接到单个集群。

在两个集群中拥有数据的首选方法是在它们之间设置镜像。有关更多详细信息,请参阅Kafka 网站上的异地复制部分。


推荐阅读