Search code examples
rabbitmqamqpqpid

Where are the AMQP 1.0 implementations? Would it make sense to wait?


I'm doing research to figure out what messaging solution to settle on for our future products and I can't really figure this one out.

There is a bunch of AMQP 0.9.1 implementations (RabbitMQ, Apache Qpid, OpenAMQ, to name a few), but no AMQP 1.0 implementation, although 1.0 has been finalized October 2011. Well, except for SwiftMQ [1].

Reading up on 1.0, it seems to be a major departure from the pre-1.0 spec, so it seems understandable that there's little enthusiasm for a major rewrite of something that is working fine. In fact, I can't see why RabbitMQ and others wouldn't just decide to migrate to ZeroMQ instead of AMQP 1.0.

Still, I cannot find any clear statement on that by implementors of the pre-1.0 AMQP spec, except some vague commitments like 'striving to always implement the latest AMQP spec'.

Edit: RabbitMQ actually does say

A future version of RabbitMQ will implement AMQP 1.0. Please contact us for details.

However, something tells me that statement is more than 3 years old, i.e. it predates the release of AMQP 1.0.

So are there any indications AMQP 1.0 could become a standard, except for the fact that major banks - and Microsoft - are behind it? The latter btw. without an implementation of its own.

It almost seems like AMQP 0.9.1 is more standard than 1.0 will be.

Well, there's https://github.com/rabbitmq/rabbitmq-amqp1.0, it's self-proclaimed status is prototype, with no work on it apparently for half a year.

[1] My first impression of SwiftMQ I got by means of its author's rant on Spring's lacking AMQP support, which is why I'm not considering it for the time being. I wouldn't want to count on support from that guy.


Solution

  • According to http://geekswithblogs.net/michaelstephenson/archive/2012/08/12/150399.aspx:

    AMQP is not supported at present for Service Bus on premise or in the cloud however there is a webcast explaining Microsoft's position on AMQP and it sounds like an important feature to expect in a future release

    So:

    Would it make sense to wait?

    I guess it's fair to say the answer is: No.

    • MS still isn't there despite all the initial enthusiasm, and I could not find any mention of AMQP in the announcement and the documentation of the recently released Service Bus for Windows Server Update: There's news on the MS side, see David Ingham's answer.
    • the upcoming Qpid release (probably available in the next couple of weeks) will have 1.0 support for the JMS client and the Java broker, that was 11 weeks ago. Predictions are of course hard to make, but as a matter of fact, it's still not here.

    So except for SwiftMQ, there isn't any working AMQP 1.0 implementation out there, and not a lot of enthusiasm, judging from recent announcements and statements. I expect Qpid to do the release soon, after all, 1.0 drafters are members of the project - but if not, that would be like the final nail in the coffin.

    In any case, AMQP 1.0 is not widely adopted and there are no reliable signs it'll become so in the foreseeable future.