比如说,有一个消费群体(具有相同组id的使用者)。
消费者群体正在消费经纪人提供的主题。
主题a有4个分区,该组中有4个使用者。
每个使用者使用不同的分区消费者1在分区1中接收消息,消费者2在分区2中接收消息,依此类推,因为消费者组在kafka中就是这样做的。在消费者群体中,每一个都有1/4的主题。
我的问题是:他们如何分享信息,使他们都有一个主题?
他们如何把这些零碎结合起来?这是在哪里发生的?
如果我的计算机(a组的使用者1)使用了来自代理的主题a,而我朋友的计算机(a组的使用者2)使用了同一主题的其他部分,我们如何组合主题a中的消息?
1条答案
按热度按时间qni6mghb1#
我想到了“消费者”这个词:一台计算机或一台服务器从一个经纪人那里消费一个主题。这就是为什么我和消费者群体混淆了。
消费者是一个客户机或程序,我的计算机或服务器上可以有许多消费者。用户组是指独立机器上的多个用户进程
所以我不需要担心消费者在一个小组里分享信息来完成一个主题。以前,我认为每个消费者都是服务器或计算资源,所以他们必须以某种方式进行通信。但这就是我困惑的原因。它们不需要通过网络相互通信,也不需要一个池来共享它们的分区数据。
消费者1可以从分区1读取,消费者2可以从分区2读取,如果消费者1、2共享相同的组id(消费者组),消费者1不需要从分区2读取,消费者2也不需要从分区1读取。他们已经有了自己需要的主题。繁荣!
我贴了一个答案来帮助像我一样思考的人。