【发布时间】:2021-07-23 15:24:24
【问题描述】:
当 Kafka 消费者从其分配的分区中读取数据时,消费者 fetcher 线程是否使用任何特定逻辑从分区中获取数据?例如,提取线程是否做出任何逻辑/努力从分配的分区中平等/一致地读取?它是否从最滞后的分区中获取更多记录?还是只是一个简单的循环式逻辑?
有没有关于消费者感染逻辑的详细文档?
谢谢。
【问题讨论】:
标签: apache-kafka kafka-consumer-api
当 Kafka 消费者从其分配的分区中读取数据时,消费者 fetcher 线程是否使用任何特定逻辑从分区中获取数据?例如,提取线程是否做出任何逻辑/努力从分配的分区中平等/一致地读取?它是否从最滞后的分区中获取更多记录?还是只是一个简单的循环式逻辑?
有没有关于消费者感染逻辑的详细文档?
谢谢。
【问题讨论】:
标签: apache-kafka kafka-consumer-api
顺序似乎是不确定的。我引用了here 的讨论。 Kafka Consumer here的官方文档也对此有更多了解@
如果一个消费者被分配了多个分区来获取数据,它 将尝试同时有效地从所有这些中消费 给这些分区相同的消费优先级。然而在 在某些情况下,消费者可能希望首先专注于从某些 全速分配分区的子集,并且仅开始 当这些分区很少或没有数据时获取其他分区 消费。
其中一种情况是流处理,其中处理器从 两个主题并在这两个流上执行连接。当其中一个 主题长期落后于其他,处理器想 暂停从前面的主题中获取以获取滞后流 赶上。另一个例子是消费者启动时的引导 有很多历史数据要赶上的地方,应用程序 以前通常想获取一些主题的最新数据 考虑获取其他主题。
【讨论】: