实战录 | Kafka-0.10 Consumer源码解析

实战录》导语

前方高能!请注意本期攻城狮幽默细胞爆表,坐地铁的拉好把手,喝水的就建议暂时先别喝了:)本期分享人为云端卫士大数据工程师韩宝君,将带来Kafka-0.10 Consumer源码解析。本文3346字,大约需要花费8-10分钟时间阅读。

Kafka在0.9版本之后,对Consumer进行了重新设计,本人也在网上看了一些Consumer源码解析博客,发现讲的都不是很详细,看过之后自己尝试去看源码的时候还是很费劲,本编将对kafka Consumer模块进行详细解析,一行一行代码的和大家讲解,内容很多,可能会分好几篇和大家分享。

看源码其实也是一件很耗时的事情,要想从代码里看懂那些大牛们的意图,肯定要费一番功夫,大家撑住劲!毕竟坚持、不懈才是硬道理嘛!

来,冲上一杯咖啡,撒一点香菜,犯困的在和点辣椒油。我们开始:

1、从Apache网站下载源码包或github上直接Checkout。2、搭建源码阅读环境。

以上两步估计吃过奶的人都会(AD钙奶,吃了身体棒),真要是没吃过,就先别看源码了,先回家吃奶吧!

启动

源码包中examples目录下有一个消费者的demo,0.10版本和之前的稍微有些差别,但改动不大,使用起来更方便,如下:

我们直接进入到第39行代码:new一个KafkaConsumer消费者实例,进入下面的构造方法中:

点击this:

在该构造方法中,首先会new一个ConsumerConfig的实例,并把key和value反序列化类的信息添加到properties中。

新建ConsumerConfig实例

在新建ConsumerConfig实例时:

1、首先会执行static静态代码块,在静态代码块中会新建一个ConfigDef实例,通过调用ConfigDef的define方法把一些Consumer端的一些配置信息包括权限配置信息等放入ConfigDef实例的configKeys中存储2、再次会调用其父类AbstractConfig的构造方法。

1.1.1 static静态代码块

这个静态代码块的代码很长,就贴一点意思意思:意思意思是啥意思?【西北风跑得快,我想和你谈恋爱】的意思。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值