REST based message queue

November 22, 2009

I’ve been playing with lots of message queues lately, and with each of one, a protocol is favoured. There are modules for all protocols for a given MQ if you look further, but usually only one of them is more developed than others. That’s ok, because it’s hard to find willing people to help in open source projects.

Based on what I saw and used, a simple queue would suffice for most of cases. I tried Amazon SQS and the idea behind it is nice and simple. As I was looking to build a small “cloud-y” infra structure for my projects, I’ve started to build such queue using Google’s AppEngine. This was almost 1 year ago and just last week I found the original code, which immediatly I saw to clean, add API Keys and make it public.

Since then, I’ve stopped using my MQ at appengine (http://jsonqueue.appspot.com) and came back to Rabbit MQ for performance reasons. Also, I’ve built another MQ using Twisted and Redis, which I plan to clean-up and publish too. Check the current code at my repository: http://github.com/gleicon/restmq-appengine .

AppEngine has a lot of limitations, but the appeal of such queue is that the client and driver is built in in most languages, even shell script and javascript. Having JSON as protocol, and HTTP as transport, the REST part was just an organizational (and hype-enabling) step. Also, the queue creating is on the fly, and you can either take something out of it or get and later delete, having a simple counter which may be used as a semaphore or indicator that that element was already read somewhere else.

 

 

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: