首页 > 解决方案 > Kafka Follower Fetch 很高

问题描述

我在 AWS MSK(版本 2.2.1)上设置了一个 4 代理 Kafka 集群。我正在通过 datadog 进行监控(来自https://docs.datadoghq.com/integrations/amazon_msk/的爬虫设置)。

现在根据我的理解,获取关注者总时间是其他指标的总和。但是您可以看到所有这些都 <1 毫秒,而获取关注者的总时间超过 200 毫秒。

Min.   Avg.   Max.     Metric
486ns  488ns  501ns    aws.kafka.fetch_follower_local_time_ms_mean
204ns  208ns  213ns    aws.kafka.fetch_follower_request_queue_time_ms_mean
192ns  194ns  197ns    aws.kafka.fetch_follower_response_queue_time_ms_mean
100ns  101ns  103ns    aws.kafka.fetch_follower_response_send_time_ms_mean
230ms  231ms  232ms    aws.kafka.fetch_follower_total_time_ms_mean

我并没有真正改变默认的 Kafka 配置:

min.insync.replicas=1
num.io.threads=8
num.network.threads=5
num.partitions=1
num.replica.fetchers=2
socket.request.max.bytes=104857600
unclean.leader.election.enable=true
log.retention.hours=336

有人可以提出这种高追随者获取时间的可能原因以及如何减少它?也欢迎任何确定原因的方法。

标签: amazon-web-servicesapache-kafka

解决方案


FetchFollower 的行为类似于“长轮询”请求。它一直等到获得replica.fetch.min.bytes数据以进行复制或replica.fetch.wait.max.ms超时(默认为500ms)。所以基本没问题,只是说明大部分FetchFollower请求都在等待数据


推荐阅读