Starling: A Ruby Persistent Queue Server That Speaks Memcached

最近使用的一个项目中需要用到一个消息队列服务,然后调研了一下Starling。虽然最后选用的并不是Starling,但是还是顺手把这篇文章给翻译了。

原文地址:http://www.rubyinside.com/starling-and-rudeq-persistent-ruby-queues-958.html

Starling是一个'使用MemCache协议的,轻量级的消息队列服务器,从它被开发至今已经有一段时间了。Starling使得为 多个进程和多个主机之间的并行作业编写一个可通过网络访问的消息队列(或多个消息队列),变得极其容易。Starling由Twitter开发,并用于处理其系统内的产生的大量的消息队列。Starling 在实际应用中已经得到了验证,并且不仅仅只有Twitter自己在使用,另一家公司FiveRuns也在使用Starling。FiveRuns 甚至创建了他们自己的Starling 版本 ,按照他们的说法,Starling是非常快速的。

为什么我会突然对Starling感兴趣。Well, 这源于 Glenn Gillen 在 RubyPond.com上写了一篇文章 --an excellent introductory guide to setting up Starling。他展示了一个从安装Starling(该文介绍一个叫Workling的插件,该插件可以使在rails中使用Starling变得更容易一些),把消息放入队列然后处理这些消息的一个完整的过程。

另外一个与Starling类似的可选的方案也在对上文的评论被提及,它就是 RudeQ.RudeQ使用了与Starling一样简单的API,但RudeQ基于ActiveRecord/databse,这意味这RudeQ不需要监控额外的persistent process,我猜想RudeQ可能远不及Starling那么的快速,但如果你不想过多的考虑监控persistent process,或者没有根本不打算使用persistent process(该进程需要在主机间共享,我猜想),RudeQ值得一看。

This entry was posted in rails, 翻译 and tagged , . Bookmark the permalink.

发表评论

您的电子邮箱不会被公开。 标记为 * 的区域必须填写

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>