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指标

相关推荐
猿java14 小时前
使用 Kafka面临的挑战
java·后端·kafka
路上^_^14 小时前
00_概览_kafka
分布式·kafka
CopyLower1 天前
Kafka 消费者状态及高水位(High Watermark)详解
分布式·kafka
信徒_1 天前
kafka
分布式·kafka
灰色孤星A1 天前
Kafka学习笔记(三)Kafka分区和副本机制、自定义分区、消费者指定分区
zookeeper·kafka·kafka分区机制·kafka副本机制·kafka自定义分区
雪球不会消失了1 天前
Kafka快速入门
分布式·kafka
death bell3 天前
kafka基本概念以及用法
分布式·kafka·linq
空名_Noname3 天前
【转载翻译】消息队列 - ActiveMQ、RabbitMQ、Kafka、ZeroMQ
c++·kafka·rabbitmq·activemq·zeromq
漫无目的行走的月亮3 天前
使用微服务Spring Cloud集成Kafka实现异步通信(消费者)
spring cloud·微服务·kafka
静听山水3 天前
kafka测试
分布式·kafka