Kafka checkpoint机制


发布于 2024-09-11 / 24 阅读 / 0 评论 /
Kafka数据文件运行时提供checkpoint机制,保证数据的一致性

Kafka作为一个数据中间件,并不建议对数据进行永久保存,而是以数据过期机制来对历史数据进行清理,保证消息中间件最基本的特色。

清理机制相关的配置可以分为以下三种类型。

1.数据保留相关参数

有四个参数:

(1)log.retention.ms:保留时间毫秒数,默认为空,设置为-1表示永久保留。

(2)log.retention.minutes:保留时间分钟数,默认为空。

(3)log.retention.hours:保留时间小时数,默认168小时。

(4)log.retention.bytes:保留大小,默认值为-1,表示永久保存。

2.数据清理机制参数

有三个参数

(1)log.cleaner.enable:是否开启清理机制。

(2)log.retention.check.interval.ms:保留机制检查时间间隔,毫秒计,默认值为300000,表示5分钟检查一次。

(3)log.cleanup.policy:清理策略,有两个枚举值[compact, delete],默认值为delete,可以配置两个。特别要注意的是__consumer_offsets的清理策略为compact。

3.数据清理过程参数

清理过程参数有11个

(1)log.cleaner.threads:清理线程数,默认为1。

(2)log.cleaner.io.max.bytes.per.second

(3)log.cleaner.dedupe.buffer.size

(4)log.cleaner.io.buffer.size

(5)log.cleaner.io.buffer.load.factor

(6)log.cleaner.backoff.ms

(7)log.cleaner.min.cleanable.ratio

(8)log.cleaner.delete.retention.ms

(9)log.cleaner.min.compaction.lag.ms

(10)log.cleaner.max.compaction.lag.ms