我正在努力了解卡夫卡的消费群体概念。
所有文档都使其看起来好像使用了一个使用者组来并行化特定主题中的读取。但我也读到消费者可以订阅多个主题。
所以我的问题是 - 消费者群体与主题之间的关系是什么?属于同一个消费群体的2个不同的消费者可以从不同的主题中读取吗?
答案 0 :(得分:2)
所有文档都使其看起来好像是一个消费者群体 并行化特定主题内的读取。但我也读到了这一点 消费者可以订阅多个主题。
是的,是的。
Kafka将每个已发布的消息发送给每个消费者组,但每个组中只有一个消费者。如果您希望类似于队列的行为,其中每个消息都由一个消费者接收/处理,则每个主题使用一个消费者组。如果您希望每个消费者获得每条消息的一个副本的发布/订阅行为,那么每个消费者都应该使用不同的消费者组。
所以我的问题是 - 消费者群体之间的关系是什么 和主题? 2个不同的消费者可以属于同一个消费者 小组从不同的主题阅读?
最好的想法是:你想要排队行为(1 msg - > 1,只有一个消费者)吗?或pub-sub行为(1 msg - >每个消费者)?还是两者的混合?一旦你选择了它,就相应地布置消费者群体。
直接回答问题:您通常可以按照自己想要的方式进行组织。最合乎逻辑的思考方式是每个主题都有N个消费者群体。您可以在不同主题上使用相同的消费者群组字符串,但我认为这没有任何意义。