Jus*_*tin 3 apache-kafka kafka-consumer-api
根据我的理解,分区和消费者被捆绑成 1:1 的关系,其中单个消费者处理分区。但是有没有这样一种在处理过程中重新分区的方法呢?我们目前正在尝试优化一个过程,在这个过程中,主题在一个组中被消费,但在某些情况下,某些消费者的数据处理需要更长的时间,而其他消费者已经空闲。它类似于数据清理,其中某个分区可能不再需要清理,而其他分区则需要模糊匹配,从而增加了消费者执行任务的复杂性。
你对分区和消费者的理解不太对。
如果您有 N 个分区,那么在同一个消费者组中最多可以有 N 个消费者,每个消费者都从一个分区中读取数据。当消费者的数量少于分区时,一些消费者将从多个分区中读取数据。此外,如果您的消费者多于分区,那么一些消费者将处于非活动状态并且根本不会收到任何消息。
如果每个分区有一个消费者,那么某些分区可能会收到更多消息,这就是为什么您的某些消费者可能处于空闲状态而其他一些消费者可能仍在处理某些消息。请注意,消息并不总是以循环方式插入主题分区,因为具有相同键的消息被放置在同一分区中。
归档时间: |
|
查看次数: |
4730 次 |
最近记录: |