【发布时间】:2019-03-10 08:10:59
【问题描述】:
在 kafka 文档中,我试图理解这个属性 max.poll.interval.ms
使用消费者组管理时调用 poll() 之间的最大延迟。这为消费者在获取更多记录之前可以空闲的时间量设置了上限。如果在此超时到期之前未调用 poll(),则认为消费者失败,组将重新平衡,以便将分区重新分配给另一个成员。
这意味着每次轮询将在poll-time-out 之前发生,默认为 5 分钟。所以我的问题是消费者线程在两次连续轮询之间究竟需要多少时间?
例如:消费者线程 1
第一次投票--> 有 100 条记录 --> 处理 100 条记录(耗时 1 分钟) --> 消费者提交的偏移量
第二次投票--> 100 条记录 --> 处理 100 条记录(耗时 1 分钟) --> 消费者提交的偏移量
消费者在第一次和第二次投票之间需要时间吗?如果是,为什么?以及我们如何改变那个时间(假设主题有大量数据)
【问题讨论】:
标签: apache-kafka kafka-consumer-api spring-kafka