Kafka - 消费者会创建多少个 Socket 连接?

发布时间 2023-09-27 15:47:19作者: frank_cui

相关知识的wiki

https://www.processon.com/mindmap/5ef999275653bb2925bc8a13

 

问题

 假设有个 Kafka 集群由 2 台 Broker 组成,有个主题有 5 个分区,当一个消费该主题的消费者程序启动时,你认为该程序会创建多少个 Socket 连接?为什么?

答案

整个生命周期里会建立4个连接,进入稳定的消费过程后,同时保持3个连接,以下是详细。

  • 第一类连接:确定协调者和获取集群元数据。 一个,初期的时候建立,当第三类连接建立起来之后,这个连接会被关闭。
  • 第二类连接:连接协调者,令其执行组成员管理操作。 一个
  • 第三类连接:执行实际的消息获取。 两个,分别会跟两台broker机器建立一个连接,总共两个TCP连接,同一个broker机器的不同分区可以复用一个socket。