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

相关推荐
lifallen9 分钟前
Flink Agent:RunnerContext 注入与装配演进分析
java·大数据·人工智能·语言模型·flink
爱丽_10 分钟前
Tomcat 从 Socket 到 Servlet:机制主线、参数调优与线上排障(实战)
java·servlet·tomcat
小江的记录本14 分钟前
【JEECG Boot】 JEECG Boot——数据字典管理 系统性知识体系全解析
java·前端·spring boot·后端·spring·spring cloud·mybatis
卖男孩的小火柴.17 分钟前
java内置方法总结及基础算法
java·算法
赫瑞17 分钟前
Java中的日期类
java·开发语言
张元清19 分钟前
不用 Server Components 也能做 React 流式 SSR —— 实战指南
前端·javascript·面试
程序员木圭20 分钟前
07-数组入门必看!Java数组的内存分析02
java·后端
前端技术21 分钟前
ArkTS第三章:声明式UI开发实战
java·前端·人工智能·python·华为·鸿蒙
带刺的坐椅22 分钟前
RFC 9535:JSONPath 的标准化之路
java·json·jsonpath·snack4·rfc9535
神の愛26 分钟前
java日志功能
java·开发语言·前端