当代理中没有要获取的数据时,使用者将保持紧密循环,直到数据到达。因此,我想找到一种方法来告诉消费者等待,直到经纪人有了一些数据。我使用的是kafka0.9java客户端
vd8tlhqk1#
所以基本上kafka是基于pull的客户机,它会不断地查询服务器以确定是否有新的消息,或者你可以有更高的轮询间隔,或者你可以使用fetch.max.wait.ms和fetch.min.bytes的概念,这是关于fetch.min.bytes的文档所述内容—服务器应为fetch请求返回的最小数据量。如果没有足够的数据可用,请求将等待大量数据积累后再回答请求。
1条答案
按热度按时间vd8tlhqk1#
所以基本上kafka是基于pull的客户机,它会不断地查询服务器以确定是否有新的消息,或者你可以有更高的轮询间隔,或者你可以使用fetch.max.wait.ms和fetch.min.bytes的概念,这是关于fetch.min.bytes的文档所述内容—服务器应为fetch请求返回的最小数据量。如果没有足够的数据可用,请求将等待大量数据积累后再回答请求。