29 kafka动态配置

为什么需要动态配置

线上运行的kafka broker修改配置需要重启的话,影响比较大。需要一个不需要重启就能使参数生效的功能

使用的场景

配置优先级:

per-broker参数 > cluster-wide参数 > static参数 > 默认参数

1.动态调整network线程数和工作线程数来扩缩容

2.修改日志的留存时间。不可能完美预估所有业务的消息留存时长

3.ssl相关参数。能创建过期时间很短的SSL证书,调整时kafka会重新配置socket连接并更新keystore,新的连接会使用新的keystore。
kafka如何使用的ssl[TODO]

4.调整follower向leader拉消息的线程数

评论区问题

1.动态配置的实现原理[TODO]

配置保存在zookeeper中,动态监听这个变更

2.follower为什么会拉取副本慢?它不负责读写只专心同步副本数据,增加线程就有用吗?

拉取是异步的网络请求。一个Broker上可能有很多follower副本 ,增加线程可以均匀分散这些follower副本来去任务
kafka follower拉取副本过程细节[TODO] ,比如follower拉取消息的间隔时间配置,请求是异步的?

3.怎样知道什么时候该调整这两组线程池大小?

可以监控请求队列的大小,可以看看broker端的请求队列的JMX指标

相关推荐
列星随旋39 分钟前
Kafka基础篇
分布式·kafka
Jackyzhe1 小时前
从零学习Kafka:生产者压缩
分布式·学习·kafka
一只普通的码农2 小时前
kafka在windows环境部署
分布式·kafka
bqq198610263 小时前
Kafka高效的原因
缓存·kafka
Kiyra3 小时前
异步任务不用 Kafka 也行:用 Redis Stream 搭一套轻量级 Producer/Consumer 框架
数据库·人工智能·redis·分布式·后端·缓存·kafka
面向Google编程3 小时前
从零学习Kafka:幂等与事务
大数据·kafka
Jackeyzhe4 小时前
从零学习Kafka:幂等与事务
kafka
倒流时光三十年4 小时前
第6篇 Consumer 精讲(上):Offset 提交与幂等消费
spring boot·kafka
Devin~Y5 小时前
大厂 Java 面试实录:Spring Boot/Cloud、Kafka、Redis、JVM、K8s、RAG 一条龙(小Y翻车版)
java·jvm·spring boot·redis·spring cloud·kafka·kubernetes
IT策士5 小时前
Python 中间件系列:kafka学习
python·中间件·kafka