为什么Kafka民意调查不总是返回数据?

时间:2018-07-06 13:55:45

标签: apache-kafka kafka-consumer-api

Kafka的新功能在这里。我正在为低延迟系统创建使用者。我注意到,当我经常轮询并打印每次轮询的结果时,会得到以下信息:(我一直在测试读取集群中已有数据的时间)

Poll: 458 messages received
Poll: 0 messages received 
Poll: 0 messages received 
Poll: 0 messages received 
Poll: 0 messages received
Poll: 0 messages received 
Poll: 458 messages received 
Poll: 0 messages received
Poll: 0 messages received 
And so on

这是使用默认批处理大小在100ms进行轮询的。起初我以为它正在处理,当我将批处理大小减小到250MB时,每隔一个轮询将接收92条消息。但是我也想轮询速度要快于100毫秒,但是即使我将其减少为每批仅一封邮件(如果我以1毫秒的速度进行轮询),在返回数据的两次轮询之间仍然会得到20到30个左右的空轮询。

我注意到在添加max.poll.records记录时,它将在多个连续的民意调查之间分配批处理大小,但是在不消耗新消息的时间之后还有一段时间。我不希望民意测验之后的消息在集群中停留30毫秒,等待提取。在这些空的民意调查期间,消费者在做什么?我有什么办法可以减少这段时间?

0 个答案:

没有答案