我刚接触kafka,所以很难理解pubsub模型。假设我有一个包含2个分区的主题(让我们称它们为partition1,partition2)
我有3个消费者
consumer1、consumer2 -->属于consumerGroup1,每个都绑定到partition1和partition2
consumer3 -->属于consumerGroup2,此group.It中的唯一使用者从partition1读取数据
让我们假设所有3个消费者都从partition1读取了5条消息
我怀疑的是,
1. partition1中的所有5条消息是否都能到达每个消费者,即consumer1和consumer3?或者它们是不是一个接一个地共享消息,因为kafka维护的偏移量可能不知道属于同一消费群体或不同消费群体的消费者?这是不是称为发布-订阅模式?
2.如果我想要点对点模式,我所需要做的就是将所有的消费者放在同一个消费者group.Am中是正确的吗?
发布于 2021-11-24 16:28:28
两个组不共享消息,同一组中的多个消费者不能从同一分区消费。也没有排序保证说"consumer1“被分配给"partition1”(很可能发生"consumer1“死了,两个分区都被分配给"consumer2")。如果"consumer3“是该组的唯一成员,则它将从两个分区中读取数据。
偏移量是按组跟踪的,而不是按消费者client.id跟踪的。
Kafka始终是发布-订阅的。点对点模型将不使用消息代理(例如,HTTP或gRPC之类的TCP客户端-服务器)
https://stackoverflow.com/questions/70095066
复制相似问题