Confluent.Kafka - 主题日志压缩
Confluent.Kafka - Topic Log Compaction
我目前正在使用 Confluent.Kafka 构建发布者和消费者资产,我正在尝试了解我是否需要在代码中做任何不同的事情。我能够创建主题日志压缩,但我不完全理解如何在 C# .NET Core 中使用它。
我的主要问题是在创建启用了日志压缩的主题之后,是否必须在代码中完成任何操作才能使用它,或者是否全部在幕后处理。
如果有特定方面的代码需要编写,有人可以举个例子给我吗?我已经研究了几天,我发现了很多关于如何创建启用日志压缩的主题的信息(我已经实现了),但没有关于这可能如何影响生产者和消费者的代码使用的信息.
如有任何帮助,我们将不胜感激。
不,您无需对代码进行任何更改即可使用日志压缩。要使用日志压缩,你只需要配置主题。
代码中唯一不同的是,您可以通过生成 tombstone
值来删除具有特定键的事件。在 C# 中,它只是一个 null
.
确保您真正了解日志压缩的工作原理,您可以阅读更多相关内容here。要激活日志压缩,您必须在创建主题时设置 cleanup.policy=compact
。但您还必须考虑影响主题压缩频率的其他主题配置:delete.retention.ms
、segment.ms
、min.cleanable.dirty.ratio
.
我目前正在使用 Confluent.Kafka 构建发布者和消费者资产,我正在尝试了解我是否需要在代码中做任何不同的事情。我能够创建主题日志压缩,但我不完全理解如何在 C# .NET Core 中使用它。
我的主要问题是在创建启用了日志压缩的主题之后,是否必须在代码中完成任何操作才能使用它,或者是否全部在幕后处理。
如果有特定方面的代码需要编写,有人可以举个例子给我吗?我已经研究了几天,我发现了很多关于如何创建启用日志压缩的主题的信息(我已经实现了),但没有关于这可能如何影响生产者和消费者的代码使用的信息.
如有任何帮助,我们将不胜感激。
不,您无需对代码进行任何更改即可使用日志压缩。要使用日志压缩,你只需要配置主题。
代码中唯一不同的是,您可以通过生成 tombstone
值来删除具有特定键的事件。在 C# 中,它只是一个 null
.
确保您真正了解日志压缩的工作原理,您可以阅读更多相关内容here。要激活日志压缩,您必须在创建主题时设置 cleanup.policy=compact
。但您还必须考虑影响主题压缩频率的其他主题配置:delete.retention.ms
、segment.ms
、min.cleanable.dirty.ratio
.