订阅同一个topic的所有人== 一个用户,这样理解对吗?
来源:2-13 Kafka Producer-Consumer 核心特性

海豹熊
2020-06-19
老师你好:一个用户就代表了所有订阅同一个topic的人是嘛?比如 一群都订阅了xxx公众号的人,就都会收到这个公众号(topic)的推送,只不过这些推送有的存在Apartition 中,有的存在Bpartition中这样?
但是这样理解好像也不对,那为什么一个partition又能对应一组消费者呢。。。
为什么“如果 CD同时订阅了一个topic, 同属于一个消费者组,只有一个能消费这条消息;如果同属于不同的消费者组,则都能消费这条消息”?如果都订阅同一个topic,不是应该可以收到这个topic所有内容吗
写回答
1回答
-
张勤一
2020-06-19
同学你好:
你这里的理解是不正确的。Kafka 的 Topic 是可以供任意多个 Consumer 去订阅的。但是,Consumer 在订阅的时候会指定一个消费者组,这是 Consumer 的基本标识,也是 Kafka 用来区分应该怎样给 Consumer 分配消息的依据。
1. 如果所有的 Consumer 同属于一个消费者组,那么,每一个 Consumer 收到的 Message 都是不一样的,即 Topic 的 Message 子集;
2. 如果所有的 Consumer 的消费者组都是独立的,那么,每一个 Consumer 接收到的 Message 都是一样的,即 Topic 的全量消息。
欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持!
112020-06-27
相似问题