徐明明博客:Twitter Storm源代码分析之ZooKeeper中的目录结构 我们知道Twitter Storm的所有的状态信息都是保存在Zookeeper里面,nimbus通过在zookeeper上面写状态信息来分配任务,supervisor,task通过从zookeeper中读状态来领取任....
分类:
其他好文 时间:
2015-04-02 16:20:44
阅读次数:
178
初一看common包的代码吓了一跳,这么多scala文件!后面仔细一看大部分都是Kafka自定义的Exception类,简直可以改称为kafka.exceptions包了。由于那些异常类的名称通常都定义得很直观,笔者就不在一一赘述了。现在我们说说common包中其他的代码。一、AppInfo.sca...
分类:
其他好文 时间:
2015-04-01 13:14:20
阅读次数:
119
这个包很简单,只有两个scala文件: decoder和encoder,就是提供序列化/反序列化的服务。我们一个一个说。一、Decoder.scala首先定义了一个trait: Decoder[T]。在这个trait中定义了一个抽象方法fromBytes,用于将一个字节数组转换成一个类型T的对象。实...
分类:
其他好文 时间:
2015-04-01 10:51:29
阅读次数:
121
Kafka utils包最后一篇~~~十五、ShutdownableThread.scala可关闭的线程抽象类! 继承自Thread同时还接收一个boolean变量isInterruptible表明是否允许中断。既然是可关闭的,因此一定不是守护线程,而是一个用户线程(不会阻塞JVM关闭)。提供的方法...
分类:
其他好文 时间:
2015-03-31 19:25:41
阅读次数:
222
我们继续研究kafka.utils包八、KafkaScheduler.scala首先该文件定义了一个trait:Scheduler——它就是运行任务的一个调度器。任务调度的方式支持重复执行的后台任务或是一次性的延时任务。这个trait定义了三个抽象方法:1. startup:启动调度器,用于接收调度...
分类:
其他好文 时间:
2015-03-31 12:14:44
阅读次数:
259
Kafka.utils,顾名思义,就是一个工具套件包,里面的类封装了很多常见的功能实现——说到这里,笔者有一个感触:当初为了阅读Kafka源代码而学习了Scala语言,本以为Kafka的实现会用到很多函数编程(Functional Programming, FP),结果目前来看,大部分还是很朴素地以...
分类:
其他好文 时间:
2015-03-30 17:48:59
阅读次数:
191
笔者最近在研究Kafka的message包代码,有了一些心得,特此记录一下。其实研究的目的从来都不是只是看源代码,更多地是想借这个机会思考几个问题:为什么是这么实现的?你自己实现方式是什么?比起人家的实现方式,你的方案有哪些优缺点?任何消息引擎系统最重要的都是定义消息,使用什么数据结构来保存消息和消...
分类:
其他好文 时间:
2015-03-29 17:55:33
阅读次数:
171
目录 1. 介绍 2. UML 2.1 实体类UML图 2.2 业务相关UML图 3. 核心代码分析 3.1 实体类源代码 3.2 业务相关源代码 3.3 相关控制器源代码 3.4 相关View源代码 4. 总结1. 介绍 1.1 nopcommerce介绍 nopcommerce是国外的一个高质....
分类:
其他好文 时间:
2015-03-18 17:44:39
阅读次数:
2617
本文继续上一篇文章《FFmpeg源代码分析:sws_getContext()》的内容,简单分析FFmpeg的图像处理(缩放,YUV/RGB格式转换)类库libswsscale中的sws_scale()函数。libswscale是一个主要用于处理图片像素数据的类库。可以完成图片像素格式的转换,图片的拉伸等工作。有关libswscale的使用可以参考文章:《最简单的基于FFmpeg的libswscal...
分类:
其他好文 时间:
2015-03-17 20:10:49
阅读次数:
772
打算写两篇文章记录FFmpeg中的图像处理(缩放,YUV/RGB格式转换)类库libswsscale的源代码。libswscale是一个主要用于处理图片像素数据的类库。可以完成图片像素格式的转换,图片的拉伸等工作。...
分类:
其他好文 时间:
2015-03-17 12:25:23
阅读次数:
116