有 Kafka cluster
以及 Kafka broker
同样的意思?
我知道集群有多个代理(这不对吗?)。
但是当我编写代码来生成消息时,我觉得很尴尬 option
.
props.put("bootstrap.servers", "kafka001:9092, kafka002:9092, kafka003:9092");
这是代理地址还是群集地址?如果这是代理地址,我认为这是不好的,因为我们必须修改上述地址时,代理计数的变化。
(但好像是经纪人的地址……)
另外,我看到 MSK
在amazon中,我们可以向每个 AZ
.
这意味着,我们不能有太多的经纪人(最多三四个?)
他们指导我们应该把这个代理地址写到bootstrap.server option as a
,分隔列表。 为什么他们不指导我们使用群集地址或
ARN` ?
1条答案
按热度按时间oyt4ldly1#
一
Kafka cluster
是一群Kafka brokers
.在使用producer api时,不需要提及集群中的所有代理
bootstrap.servers
属性。bootstrap.servers上的producer配置文档提供了完整的详细信息:用于建立到kafka群集的初始连接的主机/端口对的列表。客户机将使用所有服务器,而不管此处为引导指定了哪些服务器。此列表仅影响用于发现整套服务器的初始主机。此列表的格式应为host1:port1,host2:port2,。。。。由于这些服务器只是用于初始连接以发现完整的集群成员身份(可能会动态更改),因此此列表不需要包含完整的服务器集(不过,如果服务器关闭,您可能需要多个服务器)。
集群中的所有代理共享同一集群中其他代理的元信息。因此,即使只提到一个经纪人也足够了
bootstrap-servers
属性。然而,你们仍然应该提到不止一个的情况下,一个经纪人不可用的任何原因。