Apache kafka 卡夫卡中日志保留期的意义是什么?

Apache kafka 卡夫卡中日志保留期的意义是什么?,apache-kafka,Apache Kafka,如果我将某个分区的日志保留期设置为2小时,而不是2小时之后,则仅清除已消耗的邮件,或清除所有邮件(无论是否已消耗)?一旦保留时间结束,所有邮件将被丢弃,无论是否已消耗。以下是官方文件中的简要说明 Kafka集群保留所有已发布的消息,无论它们是否已在可配置的时间段内被使用例如,如果日志保留时间设置为两天,则在消息发布后的两天内,日志可供使用,之后将丢弃日志以释放空间。Kafka的性能在数据大小方面实际上是恒定的,因此保留大量数据不是问题 我读过,但没能从中得到什么。这个句子对我来说似乎很复杂。您让

如果我将某个分区的日志保留期设置为2小时,而不是2小时之后,则仅清除已消耗的邮件,或清除所有邮件(无论是否已消耗)?

一旦保留时间结束,所有邮件将被丢弃,无论是否已消耗。以下是官方文件中的简要说明

Kafka集群保留所有已发布的消息,无论它们是否已在可配置的时间段内被使用例如,如果日志保留时间设置为两天,则在消息发布后的两天内,日志可供使用,之后将丢弃日志以释放空间。Kafka的性能在数据大小方面实际上是恒定的,因此保留大量数据不是问题


我读过,但没能从中得到什么。这个句子对我来说似乎很复杂。您让我轻松了,谢谢:)简单地说,一旦保留时间结束,您的队列将变空。。看看最后一张,上面写着“卡夫卡的表现实际上是稳定的。。。问题`。。因此,您可能需要重新考虑应用程序的保留策略—实际上应该提供两个这样的时间段。因此,一旦第一个过期。。只有已使用的消息才会被清除,第二条消息过期后。。剩下的都被清除了。这将提供更多的控制。消费者有责任跟踪他们所消费的信息,不同的消费者也可以在同一时间或不同时间消费相同的信息。所以说什么被消费了,什么不被消费是很棘手的。如果你需要经纪人知道消息是否被消费了,卡夫卡可能不适合你。您还需要知道,由于保留逻辑仅适用于段级别,因此可能会使用比保留期早的邮件。仅删除闭合段。因此,对于低流量主题/分区,一些消息可能会停留很长时间。