kafka消费者源码解析

在分析kafka消费者源码之前,我先提出以下问题,大家带着问题去看。

1.消费者如何知道需要消费的topic分区分布在集群的哪些broker上呢?
2.由于消费组内存在多个消费者消费同一topic的情况,那么消费者如何知道自己可以消费指定topic的哪些分区呢?
3.新的消费者加入消费组(第一次进行消费也属于这种情况),如何给消费者分配分区呢?
4.消费者宕机下线(长时间未发送心跳包),如何给消费者分配分区呢?
5.消费者主动退出消费组,比如调用unsubscrible()方法取消对主题的订阅,如何给消费者分配分区呢?
6.消费组对应的GroupCoorinator节点发生了变化,如何给消费者分配分区呢?
7.消费组内所订阅的任一topic的分区数量发生了变化,如何给消费者分配分区呢?
8.客户端是如何组装数据抓取请求的呢?
9.客户端的数据抓取请求发送到服务端后,服务端处理API入口代码在哪里?
10.服务端接收到客户端的抓取请求后,如何定位到指定的offset在哪个segment日志文件中呢?
11.服务端是如何根据客户端传递的offset等信息找到应该从segment的哪个position开始读取,应该读到哪里结束呢?
12.服务端读取到数据后,在返回客户端之前做了什么工作?
13.客户端收到服务端响应的数据,如何解压消息和组装结果集呢?如何知道采用哪种算法解压呢?
14.消费过程中如何进行权限验证呢?
15.消费过程中如何进行流量限制呢?
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值