请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

订阅同一个topic的所有人== 一个用户,这样理解对吗?

老师你好:一个用户就代表了所有订阅同一个topic的人是嘛?比如 一群都订阅了xxx公众号的人,就都会收到这个公众号(topic)的推送,只不过这些推送有的存在Apartition 中,有的存在Bpartition中这样?
但是这样理解好像也不对,那为什么一个partition又能对应一组消费者呢。。。
为什么“如果 CD同时订阅了一个topic, 同属于一个消费者组,只有一个能消费这条消息;如果同属于不同的消费者组,则都能消费这条消息”?如果都订阅同一个topic,不是应该可以收到这个topic所有内容吗

正在回答 回答被采纳积分+3

1回答

张勤一 2020-06-19 10:01:16

同学你好:

    你这里的理解是不正确的。Kafka 的 Topic 是可以供任意多个 Consumer 去订阅的。但是,Consumer 在订阅的时候会指定一个消费者组,这是 Consumer 的基本标识,也是 Kafka 用来区分应该怎样给 Consumer 分配消息的依据。

    1. 如果所有的 Consumer 同属于一个消费者组,那么,每一个 Consumer 收到的 Message 都是不一样的,即 Topic 的 Message 子集;

    2. 如果所有的 Consumer 的消费者组都是独立的,那么,每一个 Consumer 接收到的 Message 都是一样的,即 Topic 的全量消息。


    欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持!

1 回复 有任何疑惑可以回复我~
  • 第二个不能理解,老师能否举一个例子说明一下
    回复 有任何疑惑可以回复我~ 2020-06-27 16:13:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信