你的位置:首页 > 软件开发 > 数据库 > Kafka: Consumer

Kafka: Consumer

发布时间:2016-11-11 15:00:29
Kafka Consumer 通过之前的架构介绍,对Consumer有了一个初步的了解。这里再深入一点来了解一下Consumer。1、Consumer Group与Topic订阅1.1 Consumer与partition1.2 Consumer与Consumer Group ...

Kafka Consumer

 

通过之前的架构介绍,对Consumer有了一个初步的了解。这里再深入一点来了解一下Consumer。

  • 1、Consumer Group与Topic订阅
    • 1.1 Consumer与partition
    • 1.2 Consumer与Consumer Group
    • 1.3 Coordinator
      • 1.3.1 Consumer 连接到Coordinator
    • 1.4 Consumer Group Management
  • 2、Consumer Fetch Message
    • 2.1 poll records
    • 2.2 commit offsets
  • 3、Consumer 的线程安全性
  • 4、Consumer Configuration

 

 

 

1、Consumer Group 与 topic 订阅

每个Consumer 进程都会划归到一个逻辑的Consumer Group中,逻辑的订阅者是Consumer Group。所以一条message可以被多个订阅message 所在的topic的每一个Consumer Group,也就好像是这条message被广播到每个Consumer Group一样。而每个Consumer Group中,类似于一个Queue(JMS中的Queue)的概念差不多,即一条消息只会被Consumer Group中的一个Consumer消费。

 

1.1 Consumer 与 partition

    其实上面所说的订阅关系还不够明确,其实topic中的partition被分配到某个consumer上,也就是某个consumer订阅了某个partition。 再重复一下:consumer订阅的是partition,而不是message。所以在同一时间点上,订阅到同一个partition的consumer必然属于不同的Consumer Group。

 

    在官方网站上,给出了这样一张图:

 Kafka: Consumer

一个kafka cluster中的某个topic,有4个partition。有两个consumer group (A and B)订阅了该topic。 Consumer Group A有2个partition:p0、p1,Consumer Group B有4个partition:c3,c4,c5,c6。经过分区分配后,consumer与partition的订阅关系如下:

Topic 中的4个partition在Consumer Group A中的分配情况如下:C1 订阅p0,p3C2 订阅p1,p2Topic 中的4个partition在Consumer Group B中的分配情况如下:C3 订阅p0C4 订阅p3C5 订阅p1C6 订阅p2

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Kafka: Consumer

关键词:Kafka

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录