我正在尝试按分区从Kafka消费。我正在使用KafkaConsumer
api来做到这一点。我看到提供了一种pause
和resume
方法,从文档中我可以看出这是我想要的行为。
暂停从请求的分区中提取。将来对poll(long)的调用将不会从这些分区中返回任何记录,除非已使用resume(Collection)恢复了它们。请注意,此方法不会影响分区订阅。特别是,使用自动分配时,它不会导致组重新平衡。
我担心的是,我不会间歇性地暂停和恢复KafkaConsumer
,而是将暂停所有分区,除了我要从中使用的分区。我担心暂停调用的费用很高,并且会导致吞吐量问题。
我不确定这是否是实现KafkaConsumer
中每分区消耗量的正确方法,因此任何想法都会受到赞赏。
答案 0 :(得分:1)
您可以使用assign
类的KafkaConsumer
方法来指定要使用的分区。 Pause
和resume
方法将一组分区作为参数,因此您可以暂停或恢复一组特定的分区。