【问题标题】:Kafka Stream: What happens to processor object when REBALANCE occurKafka Stream:当 REBALANCE 发生时处理器对象会发生什么
【发布时间】:2020-03-03 19:53:32
【问题描述】:

1) 我们使用低级处理器 API。当重新平衡发生时 处理器对象被重新初始化并再次调用 init 方法?

2) 特定于 REBALANCE 分区(单个应用程序具有多个 消耗不同分区的线程)或整个 Kafka 流, 我稍后假设,因为它是 Stream 状态?

【问题讨论】:

    标签: apache-kafka apache-kafka-streams


    【解决方案1】:

    1) 我们使用低级处理器 API。当重新平衡发生时 处理器对象被重新初始化并再次调用 init 方法?

    在旧版本(2.3.x 或更早版本)中,基本上,当 StreamThread 启动时,它首先会触发重新平衡,分配分区后,会创建任务并进行相应的 init() 调用。对于现有的 StreamThreads,当触发重新平衡时,所有任务都会暂停(即调用 close())并重新分配,并重新启动新任务。

    在较新的版本(2.4.x 和更新的版本)中,增量重新平衡已完成,因此在重新平衡期间任务不再暂停。

    2) 特定于 REBALANCE 分区(单个应用程序具有多个 消耗不同分区的线程)或整个 Kafka 流, 我稍后假设,因为它是 Stream 状态?

    你是对的!正如blog中所引用的:

    Kafka Streams 使用它来分配任务和分区到 应用程序流实例。

    此博客讨论 Kafka 重新平衡以及分配给应用程序流实例的用法。

    如果有帮助请告诉我!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 2019-07-29
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多