我有一个固定数量的主题分区。生产者在一天中的不同时间以不同的速率生产数据。
我想基于一天中的小时动态地添加消费者,以便我能尽快处理记录。
例如,我有一个主题的10个分区。我想在非高峰时段部署5个消费者,在高峰时段部署20个消费者。
我的问题是,当我有20个消费者时,每个消费者都会收到重复的记录,这是我想避免的。我只想处理唯一记录,以加快记录处理速度。
有什么机制可以做到这一点吗?
答案 0 :(得分:0)
如果您有N个分区,则在同一使用者组中最多可以有N个使用者,每个使用者都从一个分区读取。当使用者少于分区时,某些使用者将从多个分区中读取数据。另外,如果您有更多的使用者,而不是分区,那么某些使用者将处于非活动状态,并且根本不会收到任何消息。
因此,如果要启动20个使用者,则需要将主题的分区数增加到至少20个,否则,您的使用者中有10个将处于非活动状态。
关于您提到的重复项,如果所有使用者都属于同一组,则每条消息将只使用一次。
总结一下,