我有一个kafka使用者,它使用多个主题(30+) &每个主题有6个分区。我想了解单个使用者如何从多个主题(& partition)消费,以及如何安排消费哪个主题、哪个部分、哪个偏移量?
我正面临着消费者滞后的问题,我想从多个主题了解更多关于消费者消费的信息。
Will it start multiple threads ?
Will it schedule itself between partitions ?
What kind of scheduling it will use
我的问题是关于多个主题的单一消费者消费。假设所有主题都加载了1M条记录,一个消费者必须处理这些记录。它将以什么顺序从主题中读取(我的意思是首先读取哪个主题/分区,等等)
任何到kafka内部的链接会有帮助吗?
发布于 2019-12-10 09:53:39
会启动多个线程吗?
对于Java消费者API,第只创建一个线程(不包括心跳线程)来获取记录。
会在不同的分区之间调度自己吗?
抓取器按主题分区进行批处理。假设您有三个主题: t1、t2和t3,每个主题都有两个分区。它可能会以类似t3-1,t3-0,t2-0,t2-1,t1-0,t1-1的形式结束。
它将使用哪种调度
基本上,它使用轮询策略来确保公平性。
似乎没有内部链接公开它们。详细信息请参见SubscriptionState和PartitionStates。
https://stackoverflow.com/questions/59250245
复制相似问题