【Kafka面试】Kafka数据清理机制了解过吗?

一、Kafka文件存储机制

在这里插入图片描述

1. 存储结构

  • Kafka生产者通过topic发送数据,topic只是一个逻辑概念,真正存储数据的位置是分区,分区在broker机器上对应的是文件夹(topic名称-分区号
  • 分区内部存储了数据文件,也是分段存储的。在一个分区下可能存在多个日志分区段(segment
  • 每个段都对应了3个文件:.index索引文件、.log真正的数据文件、.timeindex时间索引文件

2. 为什么要分段?

  • 删除无用文件(已经被消费过很长时间的文件)更方便,提高磁盘利用率
  • 查找数据更便捷:如果消息量很大,全都存储在一个文件中,那么查找速度肯定会受限
  • 文件命名都是以偏移量进行命名的:查找数据时,肯定是知道需要查找的偏移量的,此时可以快速定位到某个文件,通过.index索引文件,再去从.log文件中找出具体的数据

二、数据清理机制

1. 根据消息的保留时间

在这里插入图片描述

  • 根据消息的保留时间,当消息在Kafka中保存的时间超过了指定的时间,就会触发清理过程
  • 指定时间可以再broker的配置文件中配置,默认168小时(7天)
  • 根据业务情况可以适当调整,一般消息都不会保留超过7天的

2. 根据topic存储的数据大小

在这里插入图片描述

  • 根据topic存储的数据大小(该topic下所有分区数据的总和),当topic所占的日志文件大小大于一定阈值(1TB),则开始删除最久的消息
  • 在broker的配置文件中默认是关闭的,需手动开启

三、小结

在这里插入图片描述

四、模拟面试

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值