是否可以在不重启 KAFKA 客户端的情况下更改 bootstrap 服务器?
Can the bootstrap servers be changed without restarting the KAFKA clients?
KAFKA 客户端(生产者和消费者)通过连接到一个已配置的 bootstrap 服务器来发现拓扑,然后它将直接与集群中的那些代理节点集一起工作。
有了这个标准,我们可以通过更改 bootstrap 服务器来更改生产者和消费者,而无需重新启动它们以使用不同的集群吗?我们可以在不重新启动客户端的情况下更改 bootstrap 服务器配置吗?
有一个名为 metadata.max.age.ms 的客户端配置,它将强制客户端刷新代理拓扑,但它仅涵盖添加到集群的新分区领导者和新代理节点。
这主要是为了涵盖DC中的KAFKA集群由于某些意外原因而关闭以及来自同一DC的客户端已经与同一DC KAFKA集群建立连接并想要探索重定向选项的场景已经开始KAFKA 客户端与其他 DC KAFKA 集群一起工作,以防同一个 DC 集群出现故障。
您无法在官方 Kafka 客户端中更改已配置的 bootstrap 服务器。
客户端能够从初始 bootstrap 服务器发现完整的 Kafka 集群,并将定期刷新此数据(每 metadata.max.age.ms
),但它们不能动态移动到另一个集群。
如您所述,需要重新启动客户端以指向新集群。
KAFKA 客户端(生产者和消费者)通过连接到一个已配置的 bootstrap 服务器来发现拓扑,然后它将直接与集群中的那些代理节点集一起工作。
有了这个标准,我们可以通过更改 bootstrap 服务器来更改生产者和消费者,而无需重新启动它们以使用不同的集群吗?我们可以在不重新启动客户端的情况下更改 bootstrap 服务器配置吗?
有一个名为 metadata.max.age.ms 的客户端配置,它将强制客户端刷新代理拓扑,但它仅涵盖添加到集群的新分区领导者和新代理节点。
这主要是为了涵盖DC中的KAFKA集群由于某些意外原因而关闭以及来自同一DC的客户端已经与同一DC KAFKA集群建立连接并想要探索重定向选项的场景已经开始KAFKA 客户端与其他 DC KAFKA 集群一起工作,以防同一个 DC 集群出现故障。
您无法在官方 Kafka 客户端中更改已配置的 bootstrap 服务器。
客户端能够从初始 bootstrap 服务器发现完整的 Kafka 集群,并将定期刷新此数据(每 metadata.max.age.ms
),但它们不能动态移动到另一个集群。
如您所述,需要重新启动客户端以指向新集群。