config目录下的server.properties配置文件详解:
num.partitions
分区数量
设置策略
评估单分区吞吐量,考虑总的吞吐量
考虑消费者个数
可用的空间和贷款
分区大小限制
log.retention.ms
topic数据保留时长
默认通过log.retention.hours配置时间,默认值为168小时,也就是7天
等同
log.retentions.hours
log.retentions.minutes
如果3个参数均设置,则取最小值
通过设置本参数,kafka会检查消息的最后修改时间,一旦超过保留时间,则会设置国企,然后删除
log.retentions.bytes
设置topic的每一个分区数据大小限制
和log.retentions.ms/minutes/hours满足其中一个条件即可
默认值为1000 000 000byte,也就是1gb
log.segment.bytes
设置段的数据大小限制
当达到设置限制后,将会关闭该日志片段,重新打开一个新的片段
需要结合数据吞吐量,设置将影响磁盘性能
log.segment.bytes的设置需要考虑到log.retentions.bytes和log.retentions.hours的设置
例如log.retentions.hours设置了7天
默认为10天
若设置log.retentions.hours为7天
则需要考虑17天的数据存储
会等到segment中最后一条消息过期才会删除
log.segment.ms
设置日志片段的关闭时间
默认情况下未设置值
因此主要是以日志段大小来判断是否关闭
该设置影响性能能
若设置数值过小,可能需要在同一时间关闭和打开较多分区的日志段
message.max.bytes
设置单个消息大小
默认值为1MB
敲黑板:是指压缩后的大小
超过值得消息将不会被接受,还会返回broker错误信息
设置影响磁盘性能
单条消息越大,则会话更多时间来处理这些请求,吞吐量下降和延时增加