apache-kafka - 可以在不重新启动 KAFKA 客户端的情况下更改引导服务器吗?
问题描述
KAFKA 客户端(生产者和消费者)通过连接到一个已配置的引导服务器来发现拓扑,然后它将直接与集群中的这些代理节点集一起工作。
有了这个标准的东西,我们可以通过更改引导服务器来更改生产者和消费者而不重新启动它们以使用不同的集群吗?我们可以在不重新启动客户端的情况下更改引导服务器配置吗?
有一个名为 metadata.max.age.ms 的客户端配置将强制客户端刷新代理拓扑,但仅涵盖添加到集群的新分区领导者和新代理节点。
这主要是为了覆盖 DC 中的 KAFKA 集群由于某种意外原因而关闭的场景,以及来自同一个 DC 的客户端已经与同一个 DC KAFKA 集群建立连接并希望探索重定向已经启动的 KAFKA 客户端以使用的选项其他 DC KAFKA 集群,以防同一个 DC 集群出现故障。
解决方案
您无法更改官方 Kafka 客户端中配置的引导服务器。
客户端能够从初始引导服务器中发现完整的 Kafka 集群,并将定期刷新此数据(每个metadata.max.age.ms
),但它们不能即时移动到另一个集群。
正如您所提到的,需要重新启动客户端以指向新集群。
推荐阅读
- php - 如何将日期字段设置为 3 个月前
- javascript - Svg 图标在每个浏览器上都可以点击,除了 firefox
- angular - Hyperledger Composer - Angular 应用程序的 Rest-Server-Api Local-Passport 策略不是 node.js?
- php - 排序实体依赖项
- matlab - 使用 MATLAB 通过串行连接发送/接收数据
- go - 从文件中读取 HTTP 标头的最有效方法是什么?
- javascript - 如何在另一个页面上创建一个 div?
- reactjs - 如何使用 Expo 设置 Facebook 广告?
- docker - Dockerized nginx 在数千个请求后挂起
- tensorflow - Keras 内存不足的后果