我们正在查询有关kafka向外扩展的内存消耗的信息。如果您可以为以下查询提供建议/解决方案,那将非常有帮助。 我们在kubernetes上将kafka作为docker容器运行。
为Kafka代理POD配置了4GiB的内存限制。 Kafka经纪人的大量负载使POD的内存达到4GiB。因此,我们决定手动将Kafka代理POD副本从1扩展到3。但是,在扩展后,对于相同的负载,每个Kafka代理POD都消耗4GiB内存。我们预计Kafka经纪人POD的内存消耗将达到〜1.33GiB,因为我们在相同负载下运行3个POD。
在Kafka Broker向外扩展之前: 1个经纪人 6个主题,每个主题1个分区 内存消耗:4GiB
Kafka Broker扩展并重新平衡所有经纪人之后的主题: 3经纪人 6个主题,每个主题1个分区 内存消耗:10GiB(Pod1:2GiB,Pod2:4GiB,Pod3:4GiB)
Kafka Broker扩展并重新平衡所有经纪人之后的主题: 3经纪人 6个主题,每个主题3个分区 内存消耗:12GiB(Pod1:4GiB,Pod2:4GiB,Pod3:4GiB)
所有部署都在相同的负载量下进行了测试。所有主题的复制因子均为1。
编辑1