我正在研究 kafka 以实现低延迟消息队列,并且我一直在阅读有关消费者长轮询的信息。但是,没有关于如何实际使用长轮询或需要设置哪些选项来启用它的示例。如何使用 kafka java api 启用长轮询?
问问题
10783 次
1 回答
19
您不必每次都启用它,因为它是 kafka 消费者的默认行为。您需要在配置中设置的是fetch.wait.max.ms
.
两个值对于实现您想要的很重要:
fetch.min.bytes
:代理将等待此数据量填满,然后再将响应发送给消费者客户端。fetch.max.wait.ms
:代理将在向消费者客户端发送响应之前等待这段时间,除非它有足够的数据来填充响应(fetch.message.min.bytes
)
一旦达到这些值中的任何一个,就会向消费者发送响应。最长可能的获取请求时间将始终为fetch.max.wait.ms
.
在Kafka Consumer Configs中寻找更多配置选项
对于此类问题,kafka 用户邮件列表也是一个不错的选择。
于 2013-11-10T20:40:59.200 回答