拨开kafka 的外套

最近闲来无聊,研究了一下 消息队列 kafka,拜读了其源代码。

 

阅读源代码的准备:

1.  由于kafka 使用scala 这种语言编写,所以想要看的更人性化一些,请安装 scala ide 自己谷歌一下, 建议到官网上下, 这是一个scala 的 eclipse 插件,一定注意下载跟自己eclipse 版本配套的插件, 如果你确定能用记事本看, 可以无视这一点。

2.  下载kafka , 并到目录下,执行 ./sbt 下载依赖,在 core 目录下,有kafka 的源代码, 看目录结构很显然是个maven 工程,不过没找到pom.xml , 不过这个问题不是问题。找到源代码之后, 在eclipse 中 新建一个 scala project , 然后源代码搞进来, 还有一步是找依赖, 是的,在core\lib_managed\scala_2.8.0\compile 下有你想要的一切。

 

好,咱们开始!

 

  def main(args: Array[String]): Unit

 main是万恶之源, 咱们就从这里开始。

 

      val props = Utils.loadProps(args(0))
      val serverConfig = new KafkaConfig(props)

 这里加载一些乱七八糟的配置,即是用了 config 目录下的配置。

 

val kafkaServerStartble = new KafkaServerStartable(serverConfig)

 这句相当于初始化整个 kafka 

      Runtime.getRuntime().addShutdownHook(new Thread() {
        override def run() = {
          kafkaServerStartble.shutdown
          kafkaServerStartble.awaitShutdown
        }
      });

 给jvm 加上一个hook ,此方法的作用是让jvm 在退出之前干这个, 干什么的 ,shutdown kafka。

 

      kafkaServerStartble.startup
      kafkaServerStartble.awaitShutdown

 好, kafka开始。

over 

外衣脱掉了,是否索然无味, 是的, 我也这么认为,下一章着重讲讲,kafka broker 启动都干了些什么。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值