0

Kafka clusterKafka broker一样的意思吗?

我知道集群有多个代理(这是错的吗?)。

但是当我编写代码来产生消息时,我觉得很尴尬option

props.put("bootstrap.servers", "kafka001:9092, kafka002:9092, kafka003:9092");

这是代理地址还是集群地址?如果这是broker地址,我认为不好,因为当broker计数发生变化时,我们必须修改上面的地址。
(但它似乎是经纪人地址..)

另外,我MSK在亚马逊看到,我们可以为每个AZ.
这意味着,我们不能有很多经纪人。(最多三四个?)

他们指导我们应该将此代理地址写入 bootstrap.server option as a,`单独的列表。

为什么他们不指导我们使用集群地址或ARN

4

1 回答 1

4

AKafka cluster是一组Kafka brokers

使用 Producer API 时,不需要在bootstrap.servers属性中提及集群内的所有代理。bootstrap.servers上的 Producer 配置文档提供了完整的详细信息:

用于建立与 Kafka 集群的初始连接的主机/端口对列表。客户端将使用所有服务器,无论此处指定哪些服务器进行引导——此列表仅影响用于发现完整服务器集的初始主机。此列表应采用 host1:port1,host2:port2,.... 的形式。由于这些服务器仅用于初始连接以发现完整的集群成员(可能会动态更改),因此此列表不需要包含完整集服务器数量(但您可能需要多个服务器,以防服务器停机)。

集群中的所有代理共享同一集群中其他代理的元信息。bootstrap-servers因此,在物业中仅提及一个经纪人就足够了。但是,如果由于某种原因无法使用一个经纪人,您仍然应该提及不止一个经纪人。

于 2020-05-05T19:53:59.940 回答