gpt4 book ai didi

java - Kafka - 在运行时更改拓扑属性

转载 作者:行者123 更新时间:2023-12-02 08:48:07 24 4
gpt4 key购买 nike

我当前正在运行一组拓扑,我想在运行时更改拓扑属性,例如

  1. 更改线程数
  2. 将源主题添加到现有主题列表
  3. 添加接收器

是否可以在运行时更改属性而不停止 kafka 流。我的一个想法是停止 kafka 流,然后加载这些配置并重新开始。但这似乎不是一个理想的解决方案。谁能提出更好的方法吗?

最佳答案

这要看情况。更改实例的线程计数是很容易的。您只需要close() KafkaStreams客户端,更改配置,创建新客户端并重新启动它。大多数人会通过完全重新启动相应的 JVM 来完成此操作。

添加源主题和接收器主题并不容易。特别是对于源主题,您需要停止所有实例,然后一一重新启动它们,包括新的源主题。原因是,所使用的分区分配器假设所有实例都订阅完全相同的主题。如果违反了这一假设,即如果某些实例订阅了新主题,则新主题的这些分区可能会被分配给尚未更新的“旧”实例,这将导致“旧”实例崩溃实例不知道如何处理它未订阅的分配分区。

关于java - Kafka - 在运行时更改拓扑属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60949100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com