[rabbitmq-discuss] Interoperability and Server Agnosticism (was Re: Pressured to move to AMQP 1.0)
Gordon Sim
gsim at redhat.com
Thu Jun 5 15:25:09 BST 2014
On 06/05/2014 02:27 PM, Tony Garnock-Jones wrote:
> What is the level of server-agnosticism that people are actually seeing
> with AMQP 1.0?
A reasonable degree, though I would certainly love to see some consensus
from implementers on extending that.
Specifically you can get reliable (i.e. acknowledged) or unreliable
(unacknowledged) transfer to and from queues, you can get pub-sub, you
can get request-reply with several different brokers[1] all based on the
core protocol as published.
I would argue that's probably more than you get with either STOMP or
MQTT on their own.
In addition several brokers support some extensions and conventions that
essentially allow full JMS functionality against different brokers over
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 <http://amqp.org> are all empty.
There have been some filters registered for some time now:
http://www.amqp.org/specification/1.0/filters
These are relied on for full JMS behaviour and also include some support
for the old exchange types.
> Perhaps there's a de-facto standard for AMQP 1.0 broker behaviour?
There is work ongoing I believe to standardise the JMS mapping,
including any extensions it requires, which will provide some of this.
--Gordon
[1] Both Qpid brokers, Qpid dispatch router, ActiveMQ, ApolloMQ,
HornetQ, SwiftMQ and apart from the request-response, RabbitMQ. There is
of course also Microsoft's ServiceBus and IBM's MQLight, but I haven't
yet tried either of those.
More information about the rabbitmq-discuss
mailing list