Kafka-文件管理

Kafka-文件管理

文件管理

保留数据是kafka的一个基本特性,kafaka不会一直保留数据,也不会等到所有消费者都读取了消息之后才删除消息。相反,kafka为每个主题配置了数据保留期限,规定数据被删除之前可以保留多长时间,或者清理数据之前可以保留的数据量大小。

因为在一个大文件里查找和删除消息时很费时的,也很容易出错,所以我们把分区分成若干个片段。默认情况下,每个片段包含1GBlog.segment.bytes)或一周(log.segment.ms)的数据,以较小的那个为准。在broker往分区写入数据时,如果达到片段上限,就关闭当前文件,并打开一个新文件。

当前正在写入数据的片段叫做活跃片段。活动片段永远不会被删除,所以如果要保留数据1天(log.retention.ms),但是片段里包含了5天的数据,那么这些数据会被保留5天,因为在片段被关闭之前,这些数据是无法被删除的。如果要保留数据一周log.retention.ms设置为7,并且每天使用一个新片段log.segment.ms设置为1,那么就会看到,每天在使用一个新片段的同时会删除一个最老的片段--所以大部分时间该分区会有7个片段存在。

broker会为分区里的每个片段打开一个文件句柄,哪怕片段是不活跃的。这样会导致打开过多的文件句柄,所以操作系统必须根据实际情况做一些调优。

上述相关配置详情:broker常用配置详解

posted on   嘣嘣嚓  阅读(248)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示