当代理中没有要获取的数据时,消费者将保持紧密循环,直到数据到达。因此,我想找到一种方法告诉消费者等到经纪人有一些数据。我使用的是Kafka 0.9 java客户端
答案 0 :(得分:2)
所以基本上Kafka是基于Pull的客户端,它将继续查询服务器以确定是否有新消息,要么你可以有更高的轮询间隔,要么你可以使用fetch.max.wait.ms和fetch的概念。 min.bytes,这是关于fetch.min.bytes的文档说明 - 服务器应该为获取请求返回的最小数据量。如果数据不足,请求将在回答请求之前等待那么多数据累积。