【问题标题】:Filter Kafka events and process them later过滤 Kafka 事件并稍后处理它们
【发布时间】:2018-04-11 22:21:11
【问题描述】:

我正在使用 Kafka Streams API(KTable、GlobalKTable ..)。我正在使用 KStreams 消费 Kafka 主题。 我需要根据一些配置过滤掉一些传入的 Kafka 事件,然后在配置更改时处理它们。主题的持久性限制至少为 7 天。以下是要求:

键值状态

K1 V1 已处理

K2 V2 未处理(基于一些业务逻辑)

K3 V3 已处理

K4 V4 已处理

K1 V5 已处理 ------>当前偏移

现在我想再次处理消息 (K2,V2)。我试图利用 Ktables。但是,无法成功。由于我对这个概念比较陌生,不确定 KStream、KTable 能否满足这个要求。

【问题讨论】:

    标签: apache-kafka apache-kafka-streams


    【解决方案1】:

    您似乎遇到了一个问题,即某些消息在第一次遇到时无法“处理”,您希望稍后再回来处理它们。

    想到的唯一解决方案是将此类消息转发到另一个主题以供以后处理,(branch 函数在这里可能有一些用处),从而允许主流的处理继续线性时尚。

    您需要使用自定义处理器来处理延迟的主题,它可以选择休眠一段时间,或者使用其他一些逻辑来确定何时处理消息。

    但是,这种方法可能仅适用于未处理的消息后来可以按照首次遇到的相同顺序进行处理。如果不是,那么您可能会遇到可处理消息位于延迟队列中不可处理消息后面的问题。您可以通过超时来解决这个问题,然后将仍然无法处理的消息发回主题的末尾。但这一切都取决于您的用例。

    【讨论】:

      猜你喜欢
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 2017-05-17
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      相关资源
      最近更新 更多