Java 如何在kafka consumer中阻止pull请求
当代理中并没有要获取的数据时,使用者将一直处于紧密循环中,直到数据到达。因此,我想找到一种方法,告诉消费者等待,直到经纪人有一些数据。我使用的是Kafka 0.9 java客户端因此Kafka基本上是基于拉式的客户端,它会不断查询服务器以确定是否有新消息,您可以使用更高的轮询间隔,也可以使用fetch.max.wait.ms和fetch.min.bytes的概念,这是文档中关于fetch.min.bytes的内容—服务器应为fetch请求返回的最小数据量。如果没有足够的可用数据,请求将等待大量数据积累后再回答请求。因此基本上Kafka是基于拉式的客户端,它将不断查询服务器以确定是否有新消息,您可以使用更高的轮询间隔,也可以使用fetch.max.wait.ms和fetch.min.bytes的概念,这是文档中关于fetch.min.bytes的内容—服务器应为获取请求返回的最小数据量。如果没有足够的可用数据,请求将在响应请求之前等待积累足够的数据。使用此属性fetch.min.bytes和fetch.max.wait.ms意味着使用者必须知道将消耗的最小字节数和等待时间。但我一直在寻找阻止消费者的东西,直到数据到达,但经纪人会通知消费者。然而,正如基于拉动的系统一样,在这种情况下,这些属性似乎是合适的。使用此属性fetch.min.bytes和fetch.max.wait.ms意味着使用者必须知道将消耗的最小字节数和等待时间。但我一直在寻找阻止消费者的东西,直到数据到达,但经纪人会通知消费者。然而,正如基于拉的系统一样,这些属性在这种情况下似乎是合适的Java 如何在kafka consumer中阻止pull请求,java,apache-kafka,kafka-consumer-api,Java,Apache Kafka,Kafka Consumer Api,当代理中并没有要获取的数据时,使用者将一直处于紧密循环中,直到数据到达。因此,我想找到一种方法,告诉消费者等待,直到经纪人有一些数据。我使用的是Kafka 0.9 java客户端因此Kafka基本上是基于拉式的客户端,它会不断查询服务器以确定是否有新消息,您可以使用更高的轮询间隔,也可以使用fetch.max.wait.ms和fetch.min.bytes的概念,这是文档中关于fetch.min.bytes的内容—服务器应为fetch请求返回的最小数据量。如果没有足够的可用数据,请求将等待大量数