消息中间件篇之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中的配置文件进行设置。

相关推荐
洛卡卡了4 小时前
我们在用 AI 写代码时,为什么建议要好好维护 AGENTS.md 呢?
面试·agent·claude
PBitW4 小时前
GPT训练我的第三天,明白了应该咋说满分回答!😕😕😕
前端·javascript·面试
像我这样帅的人丶你还5 小时前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩5 小时前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
阿里云云原生5 小时前
数据链路再精简:Kafka 如何做到“零 ETL”一键写入 Apache Iceberg?
kafka
tntxia5 小时前
Mybatis的日志输入
java
亦暖筑序7 小时前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
用户2986985301410 小时前
Java 实现 Word 文档加密与权限解除
java·后端
自由路飞10 小时前
RAG 混合检索深挖:BM25 和向量分数为什么不能直接相加?
面试
Yeats_Liao10 小时前
14:Servlet中的页面跳转-Java Web
java·后端·架构