如果您的消费者少于分区,这是否意味着您不会消耗给定主题的所有消息?
在云环境中,您认为如何跟踪有多少消费者正在运行以及有多少消费者指向给定的主题#cage?
如果您在给定主题#cage上有多个消费者,该怎么办?我想消费者必须以某种方式跟踪它在重复的情况下已处理的消息?
实际上,每个消费者都属于一个消费者群体.当Kafka集群将数据发送到使用者组时,分区的所有记录都将发送到该组中的单个使用者.
如果组中的分区数多于消费者,则某些消费者将使用来自多个分区的数据.如果组中的消费者多于分区,则一些消费者将无法获得数据.如果向组中添加新的使用者实例,它们将从旧成员中接管一些分区.如果从组中删除使用者(或者使用者死亡),则会将其分区重新分配给其他成员.
现在让我们来看看你的问题:
如果您的消费者少于分区,这是否意味着您不会消耗给定主题的所有消息?
没有.同一个使用者组中的某些使用者将使用来自多个分区的数据.
在云环境中,您认为如何跟踪有多少消费者正在运行以及有多少消费者指向给定的主题#cage?
卡夫卡会照顾它.如果新消费者加入该集团,或者老消费者死亡,卡夫卡将会做出反应.
如果您在给定主题#cage上有多个消费者,该怎么办?
您不能让多个消费者(在消费者群体中)消费来自单个分区的数据.但是,如果存在多个使用者组,则每个使用者组中的一个(且仅一个)使用者可以使用相同的分区.