我在看文件,发现了一个 max.poll.interval.ms 属性,但它似乎不是我需要的配置。基本上,我需要一个 min.poll.interval.ms 告诉消费者每隔一天进行一次记录投票 n 第二。结合 max.poll.records ,我可以确保我的服务处理正确的负载量。
max.poll.interval.ms
min.poll.interval.ms
n
max.poll.records
drnojrws1#
这样不行。你需要调用 Consumer.poll(...) 周期性地(在一个循环中),以获取新的记录(如果有的话)。如果您在同一个线程中执行记录处理和接收(轮询),那么如果处理时间过长,您的使用者将被抛出使用者组,而另一个使用者将获得分区。另一种选择是使用Kafka流,如果你不想这样做。在不同示例上启动流应用程序 application id 将提供某种负载平衡。
Consumer.poll(...)
application id
1条答案
按热度按时间drnojrws1#
这样不行。
你需要调用
Consumer.poll(...)
周期性地(在一个循环中),以获取新的记录(如果有的话)。如果您在同一个线程中执行记录处理和接收(轮询),那么如果处理时间过长,您的使用者将被抛出使用者组,而另一个使用者将获得分区。
另一种选择是使用Kafka流,如果你不想这样做。在不同示例上启动流应用程序
application id
将提供某种负载平衡。