Kafka Consumer组中的所有Consumer消费所有Produced记录

问题描述 投票:0回答:1

当我们创建一个消费者组来消费来自生产者的一组记录时,消费者组中的消费者将并行消费生成的记录,我认为这是默认行为。

有没有办法按顺序消费这些? 例如 如果 Producer 生成了 1,2,3,4,5,6,7,8,9,10 条记录。

默认情况下,在消费者组中,consumer1 可能会消费 1,3,5,7,9,consumer2 可能会消费 2,4,6,8,10。

是否可以通过以下方式进行更改:在消费者组中,我们有消费者 1 消费 1,2,3,4,5,6,7,8,9,10 条记录,消费者 2 消费 1,2,3,4,5 ,6,7,8,9,10 条记录?

我是 Kafka 新手,正在尝试学习。在这个学习过程中,尝试了默认行为,该行为按预期工作。期待了解我们是否可以消费作为单个消费者组的一部分生成的所有记录。

apache-kafka kafka-consumer-api
1个回答
0
投票

consumer1 可能会消耗 1,3,5,7,9,consumer2 可能会消耗 2,4,6,8,10

仅当主题中有两个分区,并且记录均匀分布时...这不是默认行为(参考 StickyPartitioner 上的文档)

是否可以通过以下方式进行更改:在消费者组中,我们有消费者 1 消费 1,2,3,4,5,6,7,8,9,10 条记录,消费者 2 消费 1,2,3,4,5 ,6,7,8,9,10 条记录?

不在同一个消费群体,不是。至少,不是来自同一主题。例如,您可以使用 MirrorMaker2 并有效地复制您的主题,从而存储和使用数据两次。

© www.soinside.com 2019 - 2024. All rights reserved.