同一组的kafka消费者如何在他们之间共享消息?

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

比如,有一个消费者群体。 (具有相同组ID的消费者)。

消费者组正在从经纪人那里消费主题A.

主题A有4个分区,该组中有4个消费者。

每个消费者使用不同的分区。 (消费者1在分区1中接收消息,消费者2在分区2中接收消息,依此类推,因为这是消费者组在kafka中所做的事情。在消费者组中,每个消息都占主题的1/4。

我的问题:他们如何分享信息,以便他们都有主题A?

他们如何结合这些点点滴滴?这发生在哪里?

如果我的计算机(A组的消费者1)从经纪人处消费主题A,而我朋友的计算机(A组的消费者2)消耗同一主题的其他部分,我们如何在主题A中合并消息?

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

我想到了“消费者”一词,一台计算机或一台服务器,它从经纪人处消费主题。这就是我与消费者群体混淆的原因。

消费者是客户或程序,我可以在我的计算机或服务器上拥有许多消费者。消费者群体意味着独立机器上的多个消费者流程

因此,我不需要担心消费者在群组中共享消息以完成主题。以前,我认为每个消费者都是服务器或计算资源,因此他们不得不以某种方式进行通信。但这就是我感到困惑的原因。它们不需要通过网络相互通信,也不需要池来共享其消耗的分区。

消费者1可以从分区1读取,消费者2可以从分区2读取,如果消费者1,2共享相同的组ID(消费者组),消费者1不需要从分区2读取,而消费者2不需要需要从第1部分阅读。他们已经有了他们需要的主题。繁荣!

我发布了一个答案来帮助那些和我一样的人。

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