第一节参考
<Apache Kafka源码剖析>
https://blog.csdn.net/rigete/article/details/49663327
eclipse的scala插件在eclipse market搜下,需要eclipse 4.7及以上版本
scala的ide可以用http://scala-ide.org/download/sdk.html
用原生eclipse识别不到scala源码文件,所以用上面的ide打开项目.

第二节消息理论

第三节 scala与java
一.区别:
1.scala末尾结束可以不加;
2.scala没有原生类型,都有对应的封装类型.数字也可以调用方法。
3.var声明变量,变量声明格式和java不同.如 var myVar : String = "Foo"
val 声明标量
4.protected关键字只能在子类访问,同一包里面的类不能访问.
5.for循环 for(var x <- 1 to 10; b <- 1 to 3) {} to包含10,until不包含10
6.方法:类中的函数. 函数是继承了Trait类的对象.方法声明
def addInt(a:Int, b:Int) : Int = {} 
方法无返回值时用Unit.
7.Scala使用单例对象,用object

第四节架构

第五节源码流程
代码结构如下图:

Kafka源码分析 v0.01

一.生产者
二.消费者
三.服务端网络层          
四.服务端管理员模块
五.服务端集群
六.服务端日志
七.服务端副本
八.服务端coordinator
九.服务端控制器KafkaController
十.身份与权限
十一.服务端监控

十二.工具脚本

相关文章: