Kestrel持久化队列服务器

A persistent queue service used by Twitter.

由于工作上的需要,需要找一个高性能的持久化队列服务器,先是发现了Starling,后来就找到了这个Starling的继承者Kertrel,这两个都是Twitter开发的用来分布执行一些异步任务的队列服务,功能和Geraman和JMS差不多,而我感兴趣的是它的队列存储功能。Kestrel一个很大的好处是使用了memcache的协议,而几乎所有语言都有memcache的接口,每个Key对应一个队列,通过set入队列,get出队列,使用上还是非常方便的。在Github上Kestrel的项目介绍里说到,Kestrel是用Scala语言开发的,在JVM上运行,程序代码算上注释不到1500行,应该也是个学习Scala的好资料。性能方面,官方的测试结果,在一个2.5GHz 2008-model macbook pro上可以达到3.23MB/sec (over loopback) and about 4400 puts/sec,还觉得不够用的话还可以distribute一下。

在Github上提供了源代码,用的时候还是需要自己来编译一下的,在此把Build好的打包放在这儿了,包含了所有依赖的包,用的时候直接java -jar kestrel.jar就行了。

在config/里面还有两个配置文件,配置项的含义在Github上的项目主页上有介绍,一帮情况下默认的配置就完全可用了,大规模应用的话,有些配置项还是要调整一下的。

下载Kestrel (binary)

http://github.com/robey/kestrel/tree/master  (source)

This entry was posted in 开源拾贝. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

4 Comments

  1. Posted 2009年07月2日 at 15:04 | Permalink

    项目的列队服务主要是用在哪个功能上?

  2. Posted 2009年07月2日 at 15:24 | Permalink

    一个信息审核的功能,保存未审核信息的队列。
    这个服务在Twitter里是用来处理异步的任务的,一头儿把任务塞进队列,另一头儿有一群Worker从队列里取任务执行。

  3. Posted 2009年09月1日 at 12:30 | Permalink

    现在做的工作跟Twitter有关?

  4. wady
    Posted 2010年01月18日 at 18:45 | Permalink

    下载Kestrel (binary) 下载不了啦?

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>