Britain was built on Queues!
A long while ago I wrote about messaging systems and I’d just like to give a quick update on that. A couple of weeks ago Twitter released Starling and although simplistic I’ve found it very stable and even easier to use as it uses the same protocol as memcache. Something that might be of interest to people out there is this, Chris Wanstrath is working on an evented version of Starling which no doubt should give some performance gains.
Another queuing system I’ve been playing around with lately is conveyor which is based on the excellent thin and uses HTTP as it’s transport protocol. Usually the purist in me would recoil from the thought using a fat protocol like HTTP for something like messaging. However, I bet for most cases it performs Good Enough©. There’s always going to be a trade off between simplicity and performance and if you really want speed & features then I still recommend you look at RabbitMQ, but for most cases something like conveyor will definitely do.
Like Starling it’s extremely easy to get started as conveyor’s interface is just a web server that conforms to Rails like REST conventions. Documentation is a bit sparse but the test suite is comprehensive and easy to grok.
I’m too poor to afford a CDN so I made one
Finally I was going to describe a setup for a poor mans/cheap CDN… However it’s been a crazy week so I’ll leave it till the weekend.
June 2008 (1)
May 2008 (1)
April 2008 (2)
March 2008 (4)
February 2008 (1)
January 2008 (1)
December 2007 (2)
November 2007 (5)
October 2007 (3)
September 2007 (4)
August 2007 (1)
Online journal of Jonathan Conway a twenty something technologist, entrepreneur, husband, daddy of two, oh and lead architect at vzaar. Currently residing in London, UK.
You can find a little bit more about me here
My tumbler
vzaar
Brightbox Rails Hosting
My Caboose Facebook Profile
New Bamboo
Luke Redpath
Jamie Van Dyke
Peter Cooper
Ismael
Caroline
Monster Gym
Scala
Pat Allan
Cristi Balan

Hi Jonathan, Thank-you very much for mentioning RabbitMQ :-) But why do you think "There’s always going to be a trade off between simplicity and performance"? RabbitMQ does have good performance and is very stable, but its API is simple too. You can also use it over HTTP, STOMP and from languages like Python and Ruby. If you think this could be any simpler than please tell us how! Is it about documentation? alexis
March 1st, 2008 at 09:44 AM
Hi Alexis, Sorry I should of clarified:) RabbitMQ is fantastic and I regularly sing it's praises. But yes, I'm afraid documentation is not as good as the product itself. Every person that I've pointed in the direction of RabbitMQ seem to have a hard time getting started:(. It could also be something to do with technology familiarity/golden hammer syndrome. But you're right once you know your way around RabbitMQ it is simple to use with languages other than Java. It's a shame the documentation on the official site doesn't reflect this. I'll hopefully do a screencast in the next few weeks showing how easy it is to get a dev environment up with RabbitMQ and have a Ruby app talking to it. Cheers Jonathan
March 1st, 2008 at 01:20 PM
Jonathan, thanks very much for the kind words of support :-) And more importantly for your constructive feedback which we shall certainly pay close attention to. A screencast would be totally cool of course! alexis
March 3rd, 2008 at 01:02 PM
Thanks for the mention of conveyor. You're right that the documentation is a bit sparse, but this is pretty new project, with only one contributor (me), so documentation has been sorta low priority. Also, re:HTTP, I plan on building an streaming binary protocol, eventually, but did HTTP first because its easier for people to get started with.
March 3rd, 2008 at 05:33 PM
@ryan - No need to explain, I too always go with the simplest solution first then iterate. And good news about the binary protocol:). Is there a conveyor git repository?
March 5th, 2008 at 10:35 AM