您的位置:首页 > 编程语言

kestrel源代码阅读

2015-09-04 08:38 295 查看
kestrel 是 twitter 用scala写的消息队列,代码简短精炼,对于scala的学习还是很有增益的,随便提升一下自己Scala功底,代码是开源的,在twitter的github上(ps : 顺便可以关注一下twitter的Scala技术栈 )



学习前,先看一下特性呗: kestrel的三个连接协议(memcache、thrift、text),可配置的journal的持久化存储(甚至可以不启动),kestrel的item有超时机制、queue 也有超时机制,

配置文件: 有development、production两个scala文件,主要是消息队列、日志、文件存储(Journal配置)、端口和协议配置

tools : QDumper、Qpacker , 针对journal进行的写入和读取操作

各种协议的处理:KestrelHandler、memcacheHandler、ThriftHandler、TextHandler

状态处理 :ServerStatus负责收集数据发送到 ostrich

集群管理: ZooKeeperServerStatus

队列的处理 : 队列中的每一项 QItem、维护item插入顺序的ItemList、能够持久化的PersistentQueue,等待队列DeadlineWaitQueue,

journal操作 : journal和JournalPacker( 合并文件)



因为Scala很久没有动手了,整体的实战经验不足,看kestrel的时候,少不了Google,有时候还需要去翻阅Scala的pdf文档,后面得好好深入Scala技术栈了


徐建海
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: