从应用程序创建到 Kafka 代理的连接数
How many Connections are created to Kafka brokers from a application
在我的应用程序中,我有大约 40 个不同的主题。目前正在研究 RabbitMQ,计划转移到 Kafka。我想每个主题都有 10 个分区(因为有这个应用程序的多个实例 运行 并且希望将负载分布在至少 10 个节点之间)。
另外,根据我需要的不同序列化器,我计划有 5 个生产者。
因此,在 JVM 上,将有 40 个消费者 运行(每个主题 1 个)和 5 个生产者 运行。
计划拥有 9 个代理的 Kafka 集群。
我尝试浏览关系,在那里我发现了一些表明连接保持活动状态的链接,但无法得到关于 JVM 将根据生产者数量、主题数量、分区数量创建多少连接的具体答案,消费者数量和经纪人数量。
最大消费者连接限制是每个分区,每个主题一个; 40 个主题 * 10 个分区 = 最多 400 个消费者连接(这也是您可以 运行 的非空闲消费者应用程序数量的限制)。
+
5 个生产者连接 = 405 个客户端连接。
如果您使用 Spring 之类的框架通过 @Bean NewTopic
创建主题,那么 AdminClient
类 还会有另外 40 个连接,但这些可能会开始并在 producer/consumer 个线程开始之前结束。
如果启用,可能会有更多连接到集群 Controller、ConsumerGroupCoordinator 和 Fetch 请求到同步副本。
在我的应用程序中,我有大约 40 个不同的主题。目前正在研究 RabbitMQ,计划转移到 Kafka。我想每个主题都有 10 个分区(因为有这个应用程序的多个实例 运行 并且希望将负载分布在至少 10 个节点之间)。 另外,根据我需要的不同序列化器,我计划有 5 个生产者。 因此,在 JVM 上,将有 40 个消费者 运行(每个主题 1 个)和 5 个生产者 运行。 计划拥有 9 个代理的 Kafka 集群。
我尝试浏览关系,在那里我发现了一些表明连接保持活动状态的链接,但无法得到关于 JVM 将根据生产者数量、主题数量、分区数量创建多少连接的具体答案,消费者数量和经纪人数量。
最大消费者连接限制是每个分区,每个主题一个; 40 个主题 * 10 个分区 = 最多 400 个消费者连接(这也是您可以 运行 的非空闲消费者应用程序数量的限制)。
+
5 个生产者连接 = 405 个客户端连接。
如果您使用 Spring 之类的框架通过 @Bean NewTopic
创建主题,那么 AdminClient
类 还会有另外 40 个连接,但这些可能会开始并在 producer/consumer 个线程开始之前结束。
如果启用,可能会有更多连接到集群 Controller、ConsumerGroupCoordinator 和 Fetch 请求到同步副本。