27 August 2008

Shelving AMQP for now

I recently put a lot of effort into working with the relatively new messaging queue protocol, AMQP. This involved reading the v. 0.8 spec., source code of some implementations, the RabbitMQ docs and boards, and the source code of the py-amqplib module.

Ultimately, I could not get the AMQP client and broker to behave in ways that I expected. This is a real disappointment because I had high hopes for it in future projects that will need to be scalable. I'll give it another 6 months to a year and then see where things are.


  1. I was in bed with a fever reading mail on my iPod and accidently hit the reject link instead of the publish link. Anyway, here is the post that I meant to have published.


    I am very sorry to hear you are having trouble. You should feel very welcome to ask for help :-)

    Please do post requests for assistance to the rabbitmq-discuss mailing list, or if you want to talk to the support team in confidence, to support at rabbitmq dot com. You will find that the Rabbit team and the community will usually respond very quickly.

    The python library that you refer to was written by someone in the community - have you tried one of the examples in the core RabbitMQ distribution instead? They should work out of the box and get you up and running in no time.

    Cheers, alexis

  2. @alexis: That was nice of you to post that encouraging note. Thanks. To be clear, RabbitMQ worked great. I think the problem I had was getting my client syntax to work consistently. You mentioned the client implementations that come with RabbitMQ. I believe those are in Java. Can you believe that I don't really know Java? (I'm a little surprised myself.) Even so, I could skim it and get the gist of it.

    The long and short of it is that I do plan to use AMQP in the future but need to move on to some other things at work. Thanks again for your encouragement.

  3. Sounds intriguing! OK, well please get in touch when you are ready. If you'd like to email us some fragments of client code we can share that with the Python client authors to understand where future documentation could be clearer, or APIs improved. Incidentally Aman Gupta's Ruby API has been praised and that's another place to get started.

    Cheers, alexis