我们有一个约40个主题的Kafka实现,每个主题有40个分区和3个副本。我们有7个经纪人和40个消费者在卡夫卡的设置。所有节点(对于代理和消费者)都具有合理的配置、托管和AWS,我们在任何一台机器上几乎看不到任何尖峰。但不知何故,我们发现消费者的滞后性很高,尽管增加了40名消费者来满足上述设置的阅读需求。这是尽管事实,我们只有大约215条消息(每条消息的大小约2KB )的摄取每秒,上述主题。已经尽了一切可能,但我们无法解决滞后问题。
我们还可以看到,大多数情况下,消费者都处于闲置状态,偶尔也会使用这些消息。40个消费者是否足以处理上述场景(40个主题有40个分区,每个主题每秒大约有215条消息(430 K)?请帮帮忙。
发布于 2018-11-10 13:08:09
还不清楚您指定了哪些组ID,或者您要将哪些主题分配给哪个使用者。
假设所有使用者都在读取所有主题(您订阅了模式.*),那么您将错过1560个可以具有专用使用者实例的分区(集群中的40 *40个总分区--40个现有的“活动”使用者线程)。
由于使用者一次只能从一个分区读取数据,而不是同时读取给定主题的所有分区,因此在我看来,您需要添加更多的使用者,最好是分布在几个应用程序实例/机器上。
https://stackoverflow.com/questions/53236368
复制相似问题