Kafka日志压缩和事件采购

时间:2016-03-03 11:36:18

标签: apache-kafka event-sourcing

我使用kafka作为事件存储。虽然永远不应删除事件,但我想知道在日志增长过多的情况下从kafka中删除特定事件的最佳策略。要清理的候选事件将是例如拥有已删除聚合的事件,最初考虑但不需要的事件等。

  1. Kafka基于密钥实施日志压缩策略。有可能以某种方式使用它来删除一些事件吗?
  2. 是否有其他方法可以自动删除拥有特定聚合的事件?
  3. 谢谢

1 个答案:

答案 0 :(得分:0)

  1. 是。引用documentation on log compaction
  2.   

    压缩也允许删除。具有密钥和空有效负载的消息将被视为从日志中删除。此删除标记将导致删除具有该密钥的任何先前消息(与具有该密钥的任何新消息一样),但删除标记是特殊的,它们本身将在一段时间后从日志中清除。上面给出了不再保留删除的时间点。

    1. 不,我认为使用密钥来识别来自特定聚合的消息是您最好的选择。