我们有一个Kafka使用者,正在完美地使用消息。但问题是,当Kafka使用者启动时,该使用者正在向Kafka Broker发送大量TCP数据包。我可以使用Wireshark嗅探那些数据包。
我们的团队理解是,只要生产者产生消息,它就应该发送TCP数据包,而消费者应该能够通过向Broker发送请求来使用这些消息。 (如事件驱动)
我们不能真正理解为什么当消费者开始使用时,TCP数据包在代理和消费者之间不断地传输。
Kafka充当通过TCP通信的基于请求的系统。这就是为什么使用者不断发送TCP请求(实际上是poll()请求)的原因。您可以检查this链接以获取有关Kafka的此设计决策的更多信息。