Kafka压缩主题有存储限制吗?

tsm1rwdh  于 2023-01-20  发布在  Apache
关注(0)|答案(1)|浏览(163)

当在Kafka流中进行有状态处理时,我们可以保存大状态。随着数据的增长,我们可以为客户端提供更多的磁盘空间。但是更改日志主题怎么办?本地状态在这个压缩的主题中备份。在这个主题中,我们可以存储多少数据有什么限制吗?
我们还没有遇到任何问题。但是我看到一些云服务确实对压缩主题的大小有限制。这是Kafka限制吗?如果是,这些限制也适用于非压缩主题吗?

nx7onnlm

nx7onnlm1#

可以通过设置以下项来实现任意主题日志段的无限保留

log.retention.bytes = -1
log.retention.hours = -1

此选项在版本0.9.0.0中可用,这表明Kafka上的一个成熟特性。
然而,许多人认为,使用Kafka作为永久存储并不是它的设计初衷,随着Kafka中存储的数据量的增加,用户最终会遇到“保留悬崖”,此时存储、管理和检索数据的成本会显著增加。基础架构成本会增加,因为保留期越长,需要的硬件就越多。
话虽如此,似乎人们确实将Kafka用于持久性存储,例如,《纽约时报》将Kafka作为真理的来源,storing 160 years of journalism going back to the 1850s
如果您决定使用Kafka作为记录系统(SOR)并保存实体的状态,我建议使用较小的消息大小。
Kafka说得很清楚,它的性能在很大程度上取决于事件/消息的大小,因此对它们有大小限制。
Kafka在主题中有一个默认的每条消息1 MB的限制,这是因为在Apache Kafka中,非常大的消息被认为是低效的和反模式的。
更多用于处理更大的消息here
默认情况下,每个Kafka主题分区日志在磁盘上的最小大小为20 MB,并在创建新日志文件之前增长到最大大小100 MB。在任何时候,分区中都可以有多个日志文件。

相关问题