代码之家  ›  专栏  ›  技术社区  ›  Raman

Kafka流-任务/分区/处理器关系

  •  0
  • Raman  · 技术社区  · 6 年前

    我使用的是低级api处理器。我有一个有6个分区的主题。在实现 Processor<K,V> ,我定义了一些类变量(非静态)。我知道有6项任务。当我们启动stream应用程序时,我看到有6个对象被实例化为实现 处理器<k,v> . 我们可以将这些对象实例与任务关联吗?在重新平衡过程中,我假设分区可以在单独的线程或另一个实例上从一个任务切换到另一个任务。如果是的话,一个新的对象会被实例化为实现 处理器<k,v> 对于在不同线程或实例上重新分配的分区,以及在与该分区对应的现有对象上调用close方法?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Matthias J. Sax    6 年前

    如果任务从一个线程移动到另一个线程,则将关闭该任务,并创建包含新处理器对象的新任务。

    因此,通过设计,所有局部成员变量都是短暂的。

    如果需要在重新平衡之间保持任何状态,则需要将存储附加到 Processor .