创建连接时Kafka brokerlist与1经纪人?

问题描述 投票:0回答:1

我正在运行Kafka集群。

示例代码:

Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,
                                      "localhost:9092,localhost:9093,localhost:9094");     
KafkaProducer<String, String> producer = new KafkaProducer<>(props);
  • 提到整个经纪人名单是强制性的吗?
  • 会发生什么,如果我只提供localhost:9092,它会一直使用这个特定的经纪人吗? 如果localhost:9092经纪人倒闭怎么办?
  • 消费者API的行为是否相同?
apache-kafka kafka-consumer-api kafka-producer-api
1个回答
1
投票

提到整个经纪人名单是强制性的吗?

不可以。代理列表不必包含完整的服务器集。但是,如果服务器出现故障,建议指定多个。

会发生什么,如果我只提供localhost:9092,它会一直使用这个特定的经纪人吗?

不会。即使只有localhost:9092指定为bootstrap.servers,客户端也会通过向该代理发送元数据请求来检索所有代理列表。完成此操作后,所有经纪人都可以为客户提供服务。

如果localhost:9092经纪人关闭怎么办?

localhost:9092下降只会影响该经纪商的分区。对其余经纪商的分区没有影响。但是,如果客户端应用程序也崩溃了,即使它回来后也找不到集群,因为它无法连接到已经失效的localhost:9092。这就是为什么建议用户提供几个经纪人而不是一个经纪人。

消费者API的行为是否相同?

是的,以上所有内容也适用于消费者。

© www.soinside.com 2019 - 2024. All rights reserved.