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

时间:2019-03-22 01:55:08

标签: apache-kafka kafka-consumer-api producer-consumer

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

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

主题A有4个分区,该组中有4个使用者。

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

  

我的问题:他们如何共享消息,以便他们都拥有主题A?

它们如何将这些点点滴滴结合起来?在哪里发生?

如果我的计算机(A组的消费者1)消费了一个Broker的主题A,而我朋友的计算机(A组的消费者2)消费了同一主题的其他组件,那么我们如何在主题A中合并消息?

1 个答案:

答案 0 :(得分:0)

我想到了“消费”一词,它是指使用来自中介的主题的计算机或服务器。这就是为什么我对消费者组感到困惑。

消费者是客户端或程序,我的计算机或服务器上可以有许多消费者。消费者组意味着在一台独立计算机上的多个消费者进程

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

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

我发布了一个答案来帮助像我这样的人。