消息中间件篇之Kafka-数据清理机制

一、Kafka文件存储机制

Kafka文件存储结构:一个Topic有多个分区。每一个分区都有多个段,每个段都有三个文件。

为什么要分段?1. 删除无用文件方便,提高磁盘利用率。 2. 查找数据便捷。

二、数据清理机制

1.日志的清理策略方案1

根据消息的保留时间,当消息在kafka中保存的时间超过了指定的时间,就会触发清理过程。默认是168小时。

2.日志的清理策略方案2

根据topic存储的数据大小,当topic所占的日志文件大小大于一定的阈值,则开始删除最久的消息。需手动开启。

三、面试题

面试官:Kafka数据清理机制了解过嘛?

候选人:Kafka中topic的数据存储在分区上,分区如果文件过大会分段存储segment,每个分段都在磁盘上以索引(xxxx.index)和日志文件(xxxx.log)的形式存储,这样分段的好处是,第一能够减少单个文件内容的大小,查找数据方便,第二方便kafka进行日志清理。

在kafka中提供了两个日志的清理策略:

第一,根据消息的保留时间,当消息保存的时间超过了指定的时间,就会触发清理,默认是168小时( 7天)。

第二是根据topic存储的数据大小,当topic所占的日志文件大小大于一定的阈值,则开始删除最久的消息。这个默认是关闭的。

这两个策略都可以通过kafka的broker中的配置文件进行设置。

相关推荐
青莲843几秒前
Android 事件分发机制 - 事件流向详解
android·前端·面试
想用offer打牌9 分钟前
一站式了解Spring AI Alibaba的流式输出
java·人工智能·后端
Lonely丶墨轩10 分钟前
从登录入口窥见架构:一个企业级双Token认证系统的深度拆解
java·数据库·sql
掘根1 小时前
【仿Muduo库项目】EventLoop模块
java·开发语言
信码由缰1 小时前
Java 中的 AI 与机器学习:TensorFlow、DJL 与企业级 AI
java
沙子迷了蜗牛眼2 小时前
当展示列表使用 URL.createObjectURL 的创建临时图片、视频无法加载问题
java·前端·javascript·vue.js
ganshenml2 小时前
【Android】 开发四角版本全解析:AS、AGP、Gradle 与 JDK 的配套关系
android·java·开发语言
我命由我123452 小时前
Kotlin 运算符 - == 运算符与 === 运算符
android·java·开发语言·java-ee·kotlin·android studio·android-studio
小途软件2 小时前
ssm327校园二手交易平台的设计与实现+vue
java·人工智能·pytorch·python·深度学习·语言模型
alonewolf_992 小时前
Java类加载机制深度解析:从双亲委派到热加载实战
java·开发语言