kestrel源代码阅读

来源:互联网 发布:科幻电影里的世界知乎 编辑:程序博客网 时间:2024/05/21 14:46

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技术栈了

徐建海

0 0
原创粉丝点击