在我的特定用例中,我们将每天接收1000gb的数据。如果我在本地压缩文件,那么它大约是100gb。
我编写了一个示例应用程序来流100mb文件(压缩后转换为10mb)。单生产者,单主题,单分区。
我已经使用事务并启用了压缩(gzip)。我运行命令来找出分区的总大小,大约是85mb。作为Kafka,可能正在添加一些数据;为了保证语义的精确性。我创建了大量的消息并在事务中提交它们。每条消息都经过压缩。
我还研究了Kafka的内部存储:
0000.索引
0000.log(这消耗了最多的磁盘空间)
0000.时间索引
0000.快照
领队时代检查站
我有两个问题:
为什么Kafka主题即使在压缩后也会占用这么多磁盘空间?
如何减少分区的磁盘空间?仅供参考,在我的情况下,日志压缩将不会有效,因为每个消息都将有一个唯一的密钥。
暂无答案!
目前还没有任何答案,快来回答吧!