我正在研究kafka来实现一个低延迟消息队列,并且我已经阅读了关于消费者长轮询的内容。但是,没有关于如何实际使用长轮询的示例,也没有关于需要设置哪些选项来启用长轮询的示例。如何使用kafkajavaapi启用长轮询?
ktecyv1j1#
您不必每次都启用它,因为这是kafka消费者的默认行为。您需要在配置中设置的是 fetch.wait.max.ms .两个价值观对于实现您的目标非常重要: fetch.min.bytes :代理将等待填充此数据量,然后再向使用者客户端发送响应。 fetch.wait.max.ms :代理将在向使用者客户端发送响应之前等待此时间量,除非它有足够的数据来填充响应( fetch.message.max.bytes )一旦达到这些值中的任何一个,就会向使用者发送响应。最长可能的获取请求时间始终为 fetch.wait.max.ms .在kafka consumer configs中查找更多配置选项kafka用户邮件列表对于此类问题也是一个很好的选择。
fetch.wait.max.ms
fetch.min.bytes
fetch.message.max.bytes
1条答案
按热度按时间ktecyv1j1#
您不必每次都启用它,因为这是kafka消费者的默认行为。您需要在配置中设置的是
fetch.wait.max.ms
.两个价值观对于实现您的目标非常重要:
fetch.min.bytes
:代理将等待填充此数据量,然后再向使用者客户端发送响应。fetch.wait.max.ms
:代理将在向使用者客户端发送响应之前等待此时间量,除非它有足够的数据来填充响应(fetch.message.max.bytes
)一旦达到这些值中的任何一个,就会向使用者发送响应。最长可能的获取请求时间始终为
fetch.wait.max.ms
.在kafka consumer configs中查找更多配置选项
kafka用户邮件列表对于此类问题也是一个很好的选择。