kafka-topic重要配置分析

除非topic是可变的,kafka创建topic一般比较固化,客户端很少去控制topic属性,另外,大多数属性取自

broker中默认设置的属性

cleanup.policy

日志清理的策略,delete(删除)和compact(压缩)两种

delete.retention.ms

对压缩的日志保留的最长时间,注意log.retention.hours控制的是未压缩的日志数据的留存时间

flush.messages

消息达到多少条时,强制fsync写入磁盘,默认使用log.flush.interval.messages设置的值,不建议修改

flush.ms

等待多少毫秒后强制fsync写入磁盘,默认使用log.flush.interval.ms的设置值,不建议修改

以上两个flush在上一篇结尾单独讲过一次,比较好理解

retention.bytes/retention.ms

这个是设置日志存留多久,达到这个阈值(超过时间或超过大小)的日志会被cleanup.policy设置的策略做处理

message.max.bytes

这里是设置的一个批次的消息的最大值,不是单条消息的。

broker中的replica.fetch.max.bytes,其值必须大于message.max.bytes,否则消息复制的时候会失败

提前说一下,这个配置值,需要结合consumer配置中的message.max.bytes一起分析后设置,一般消费者设置要稍大于

topic里设置的这个值

min.insync.replicas

这个配置项在broker那篇已经讲过,非常重要的一个参数

segment.bytes/segment.ms

规定segment文件的生命周期,达到指定大小或保存了指定时间的segment会进行删除或压缩操作

 

posted @ 2021-03-28 14:52  鼠标的博客  阅读(551)  评论(0编辑  收藏  举报