04 2015 档案

摘要:kafka.cluster包定义了Kafka的基本逻辑概念:broker、cluster、partition和replica——这些是最基本的概念。只有弄懂了这些概念,你才真正地使用kakfa来帮助完成你的需求。因为scala文件不多,还是老规矩,我们一个一个分析。一、Broker.scalabro... 阅读全文
posted @ 2015-04-29 10:51 huxihx 阅读(835) 评论(0) 推荐(1) 编辑
摘要:八、Log.scala日志类,个人认为是这个包最重要的两个类之一(另一个是LogManager)。以伴生对象的方式提供。先说Log object,既然是object,就定义了一些类级别的变量,比如定义了一个日志文件的后缀名是.log;索引文件的后缀名是.index;要被删除的文件的后缀名是.dele... 阅读全文
posted @ 2015-04-23 15:43 huxihx 阅读(1040) 评论(0) 推荐(0) 编辑
摘要:Kafka日志包是提供的是日志管理系统。主要的类是LogManager——该类负责处理所有的日志,并根据topic/partition分发日志。它还负责flush策略以及日志保存策略。Kafka日志本身是由多个日志段组成(log segment)。一个日志是一个FileMessageSet,它包含了... 阅读全文
posted @ 2015-04-19 09:30 huxihx 阅读(1754) 评论(0) 推荐(0) 编辑
摘要:这个包主要是与Kafka度量相关的。一、KafkaTimer.scala对代码块的运行进行计时。仅提供一个方法: timer——在运行传入函数f的同时为期计时二、KafkaMetricsConfig.scala指定reporter类,以逗号分隔的reporter类,比如kafka.metrics.K... 阅读全文
posted @ 2015-04-08 09:00 huxihx 阅读(2326) 评论(0) 推荐(0) 编辑
摘要:kafka.network包主要为kafka提供网络服务,通常不包含具体的逻辑,都是一些最基本的网络服务组件。其中比较重要的是Receive、Send和Handler。Receive和Send封装了底层的入站(inbound)和出站(outbound)字节传输请求,而Handler在此二者间做了一个... 阅读全文
posted @ 2015-04-08 08:04 huxihx 阅读(735) 评论(0) 推荐(0) 编辑
摘要:初一看common包的代码吓了一跳,这么多scala文件!后面仔细一看大部分都是Kafka自定义的Exception类,简直可以改称为kafka.exceptions包了。由于那些异常类的名称通常都定义得很直观,笔者就不在一一赘述了。现在我们说说common包中其他的代码。一、AppInfo.sca... 阅读全文
posted @ 2015-04-01 11:50 huxihx 阅读(674) 评论(0) 推荐(0) 编辑
摘要:这个包很简单,只有两个scala文件: decoder和encoder,就是提供序列化/反序列化的服务。我们一个一个说。一、Decoder.scala首先定义了一个trait: Decoder[T]。在这个trait中定义了一个抽象方法fromBytes,用于将一个字节数组转换成一个类型T的对象。实... 阅读全文
posted @ 2015-04-01 09:27 huxihx 阅读(683) 评论(0) 推荐(0) 编辑