作者回复: 嗯嗯,欢迎不同意见。Kafka对于创建连接没有做任何限制。如果一开始就创建所有TCP连接,之后因为超时的缘故又关闭这些连接,当真正使用时再次创建,那么为什么不把创建时机后延到真正需要的时候呢?实际场景中将TCP连接设置为长连接的情形并不多见,因此我说这种设计是可以改进的。
作者回复: 总结得相当强:)
作者回复: 向它认为当前负载最少的节点发送请求,所谓负载最少就是指未完成请求数最少的broker
作者回复: 也可能是网络传输过程中出现的偶发情况,通常没有什么好的解决办法。。。
作者回复: 我不知道您这边是怎么实验的,但是我这边的确会创建新的TCP连接~~
作者回复: Broker端和Client端都有这个参数。Broker端参数的默认值的确是10分钟,Client端的则不是。
作者回复: 如果你的producer长时间没有消息需要发送,TCP连接确实会定期关闭再重建的
作者回复: 官方给的经验:) 最好还是结合自己实际场景而定
作者回复: bootstrap.servers设置的是连接Kafka的broker信息,和副本没有关系啊
作者回复: 因为是被动关闭,所以才有CLOSE_WAIT,和是否有传输量关系不大
作者回复: hmmm.... 我这边没有,网上倒是有一些面试题
作者回复: 可能有很多clients端连接过该broker,而clients又都没有正常关闭所致