Apache kafka kafka消费者调查方法的行为与一次性调用

Apache kafka kafka消费者调查方法的行为与一次性调用,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,假设我只调用一次poll()并超时,而不是while(true){…poll…} 消费者能否一次性获得从上次提交到最新可用的所有记录 超时参数重要吗?例如,如果timeout==0并且有数百万条记录,会发生什么 根据,默认情况下,max.poll.records为500 对poll()的单个调用中返回的最大记录数 因此,每次调用poll()都可以从上次提交的offset中得到最多500的max.poll.records=500,它还表示“默认情况下,基本上没有限制”。@hawksss no li

假设我只调用一次
poll()
并超时,而不是
while(true){…poll…}

  • 消费者能否一次性获得从上次提交到最新可用的所有记录
  • 超时参数重要吗?例如,如果
    timeout==0
    并且有数百万条记录,会发生什么
  • 根据,默认情况下,
    max.poll.records
    500

    poll()
    的单个调用中返回的最大记录数


    因此,每次调用
    poll()
    都可以从上次提交的
    offset

    中得到最多
    500
    max.poll.records=500
    ,它还表示“默认情况下,基本上没有限制”。@hawksss no limit意味着您可以将此配置设置为任意
    int
    ,但默认为
    500
    。我将更新我的答案以包含此内容。希望这有帮助。我只是用默认值进行了实验,有时它在一次民意测验中获得500条以上的记录……根据我的实验,民意测验行为是一种未定义的行为。(1) 使用while(true){…poll…},每次轮询的记录数对我来说似乎是随机的(2)我也没有发现超时和每次轮询的记录数之间的关系。但是,如果有人能解释的话,这肯定不能保证一次就得到所有可用的记录。他的帖子可能有最好的解释