我们都知道kafka是用.log文件来保存数据的
如果海量数据一直保存着,磁盘肯定不够用,在生产环境我们就遇到了吃爆磁盘的问题,才开始关注数据清除策略
(1) delete 删除策略(默认)
触发清除操作后,数据超过了指定的时间就全部删除
留存168个小时,也就是默认7天,后来我们的大佬把生产环境改成了3,也就是只保留3个小时
(2)compact 压缩策略
配置server.properties:
log.cleaner.enable = true (新版本好像是默认true,老版本好像是false)
log.cleanup.policy=compact
触发清除操作后,每个topic的每个partition分区只保留最后一条数据, 在某些特定的业务场景,我们必须保留用户上一次操作的状态,所以不能全部删除,采用压缩策略就可以很方便拿到最后一次的操作状态。
压缩