[rabbitmq-discuss] Interoperability and Server Agnosticism (was Re: Pressured to move to AMQP 1.0)

Tony Garnock-Jones tonygarnockjones+rabbitmq at gmail.com
Thu Jun 5 14:27:59 BST 2014

On 5 June 2014 08:00, Gordon Sim <gsim at redhat.com> wrote:

> So 0.9.1 is to all intents and purposes the RabbitMQ protocol (much like
> 0-10 is just a Qpid protocol, or OpenWire is just an ActiveMQ protocol).

That doesn't seem quite right. Support for 0-9-1 is even now an advertised
feature of Qpid-java:
http://qpid.apache.org/components/java-broker/index.html. There was quite a
bit of cross-implementor support for it, for a while there, whereas I'm not
aware of similar levels of interoperability for the other protocols you

If interoperability and choice is a consideration (and I'd certainly accept
> they aren't in every case) then AMQP 1.0, STOMP and MQTT are better choices
> as they are supported by more than one broker implementation (including
> RabbitMQ).

I've recently become curious about AMQP 1.0 interoperability again. I know
with STOMP and MQTT, quite sophisticated distributed systems can be written
using client libraries without regard for which STOMP or MQTT server one is
using. Beyond a certain point, however, one leaves the spec behind and
relies on implementation-specific behaviour.

For a while there, AMQP 0-9-1 enjoyed similar rough consensus and running
code. People can still run their clients against Qpid-java using AMQP
0-9-1, and get a certain base level of interchangeability with RabbitMQ.

What is the level of server-agnosticism that people are actually seeing
with AMQP 1.0?

It's clear that people can get the AMQP 1.0 transport and data encoding
languages to interoperate. They might even get some links established.

Is it possible to get server implementation agnosticism while programming
at the AMQP 1.0 equivalent of the conceptual level of exchanges, queues,
and bindings?

I read the OASIS spec yesterday, at long last, and it doesn't seem to cover
anything at that level, and the various extension registries at amqp.org
are all empty. Perhaps there's a de-facto standard for AMQP 1.0 broker
behaviour? Any pointers anyone has to hand would be appreciated.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20140605/9f15f133/attachment.html>

More information about the rabbitmq-discuss mailing list