同组的kafka consumer之间如何共享消息?

How does the kafka consumer of the same group share messages between them?

说,有一个消费者组。 (具有相同组 ID 的消费者)。

Consumer 组正在使用来自 Broker 的主题 A。

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

每个消费者消费不同的分区。 (消费者 1 在分区 1 中获取消息,消费者 2 在分区 2 中获取消息,依此类推,因为这就是消费者组在 kafka 中所做的。在消费者组中,每个人都有 1/4 的主题。

My question : How do they share the message so that they all have Topic A?

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

如果我的电脑(A组的消费者1)从Broker消费Topic A,而我朋友的电脑(A组的消费者2)消费同一个Topic的其他部分,我们如何合并Topic A中的消息?

我想到了术语 'Consumer' 计算机或服务器使用来自 Broker 的主题。这就是为什么我对 Consumer 组感到困惑。

Consumer是客户端或者程序,我的电脑或者服务器上可以有很多consumer。 Consumer Group是指独立机器上的多个消费者进程

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

Consumer 1可以从partition 1读取,Consumer 2可以从partition 2读取,如果Consumer 1、2共享同一个group ID(Consumer group),Consumer 1不需要从partition 2读取,并且消费者 2 不需要从第 1 部分读取。他们已经有了他们需要的主题。轰!

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