执行kafka客户端的生产者/消费者连接池是否有意义?
kafka是否在内部维护一个已初始化且可以使用的连接对象列表?
我们希望最大限度地缩短连接创建时间,以便在发送/接收消息时不会产生额外的开销。
目前我们正在使用apache commons-pool库GenericObjectPool
来保持连接。
任何帮助将不胜感激。
答案 0 :(得分:1)
Kafka客户端维护它们自己与集群的连接。
生产者和消费者都保持与他们正在交互的经纪人的联系。如果它们停止交互,则connections.max.idle.ms
之后将关闭连接。此设置也存在于代理上,因此您可能要与管理员确认是否更改了该值。
因此,在大多数情况下,Kafka客户端一旦启动,便不会创建许多新连接,而仅使用启动时创建的连接