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

卡夫卡:防止删除重新处理的过去事件

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

    我有一个 events 主题保留完整,因此我可以随时重新处理。我使用Kafkastreams来处理这些数据(包括会话)。有许多输出主题发送到数据库。

    我有一个时间戳提取器,它将kafka记录的时间戳设置为原始事件的时间戳,以便对数据执行窗口化等操作。

    但是,在处理的输出主题中,我已经设置了长达数周的保留策略(因此在使用完这些策略后会将其删除)。

    如果从原始主题重新处理此数据,则在输出主题中生成的时间戳可能早于保留策略的阈值,因此它们可能被标记为删除。

    既然它们在发布时有资格保留,那么如何防止它们被删除呢?如何将数据保留的不同时间戳与数据处理分开?它是 几乎是强制性的 要在输出主题上使用“墙壁时钟时间”时间戳以保留内容吗?