kafka主题阻塞了,尽管有30多个kafka监视器副本

9o685dep  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(304)

demo.incoming Kafka的主题越来越多。
我用的是scrapy cluster。每秒大约有70个请求通过scrapy集群restapi(producer)提交给kafka。爬行器可以很快完成爬行,因为redis中的队列数量非常少,大多数情况下不到10个。但是邮件的数量 demo.incoming 每秒钟都在堆积。这是我用来检查邮件数量的命令 demo.incoming Kafka的主题

kafka-run-class.sh kafka.tools.GetOffsetShell \
--broker-list localhost:9092,kafka-statefulset-2:9092,kafka-statefulset-1:9092 \
--topic demo.incoming \
--time -1 --offsets 1 | awk -F ":" '{sum += $3} END {print sum}'

我认为这是因为Kafka监视器(消费者)无法从Kafka那里获取消息并以足够快的速度推送到redis,从而导致 demo.incoming 要堆积的主题。尽管Kafka监视器的复制品增加到了30个,但这些主题仍然层出不穷。
屏幕截图中显示的这个主题的分区数是8。

从理论上讲,Kafka的信息数量应该保持在一个非常低的数字。因为使用者kafka monitor(在本例中是kafka monitor)应该在消息到达时立即使用它,因为它有30多个副本。

mpbci0fu

mpbci0fu1#

该命令列出了所有分区的结束偏移量,而不是主题中的“消息数”(没有计算开始偏移量和结束偏移量的精确命令)。你赚的钱总是在增加。价值增长的速度只会告诉你生产者的行动有多快,而不是消费率。
如果您想查看消费者组尚未处理的消息数,可以使用 kafka-consumer-groups 工具
因为这个主题实际上有8个分区,所以对于这个主题,同一个组中最多只能有8个使用者,尽管我不确定kafka监视工具是如何工作的

相关问题