Confluent.Kafka - 主题日志压缩

Confluent.Kafka - Topic Log Compaction

我目前正在使用 Confluent.Kafka 构建发布者和消费者资产,我正在尝试了解我是否需要在代码中做任何不同的事情。我能够创建主题日志压缩,但我不完全理解如何在 C# .NET Core 中使用它。

我的主要问题是在创建启用了日志压缩的主题之后,是否必须在代码中完成任何操作才能使用它,或者是否全部在幕后处理。

如果有特定方面的代码需要编写,有人可以举个例子给我吗?我已经研究了几天,我发现了很多关于如何创建启用日志压缩的主题的信息(我已经实现了),但没有关于这可能如何影响生产者和消费者的代码使用的信息.

如有任何帮助,我们将不胜感激。

不,您无需对代码进行任何更改即可使用日志压缩。要使用日志压缩,你只需要配置主题。

代码中唯一不同的是,您可以通过生成 tombstone 值来删除具有特定键的事件。在 C# 中,它只是一个 null.

确保您真正了解日志压缩的工作原理,您可以阅读更多相关内容here。要激活日志压缩,您必须在创建主题时设置 cleanup.policy=compact。但您还必须考虑影响主题压缩频率的其他主题配置:delete.retention.mssegment.msmin.cleanable.dirty.ratio.