[rabbitmq-discuss] Help us test RabbitMQ 3.1.0!
Simon MacMullen
simon at rabbitmq.com
Thu Apr 25 11:28:30 BST 2013
On 25/04/13 10:05, Tim Coote wrote:
> Hi Simon
>
> Can you elaborate on "AMQP 1.0 support"?
>
> On the one hand the rabbitmq site has an undated commitment to 1.0, on
> the other 1.0 is going into the ISO process and starting to get traction
> on the very long purchasing cycles of government bodies. Is there a
> current roadmap of feature support over time?
Well, that's a big question, so you get a long answer. While AMQP 1.0 is
in some ways simpler than AMQP 0-9-1 (since 1.0 defines an awful lot
less in terms of broker semantics) in most other ways it's much more
complicated.
Therefore our support for AMQP 1.0 is somewhat partial. In general we
have tried to make sure that if you can do something with RabbitMQ using
AMQP 0-9-1 then you can also do it using AMQP 1.0. But there are parts
of the AMQP 1.0 spec that map onto things that RabbitMQ just doesn't do,
so we don't support those. See
https://github.com/rabbitmq/rabbitmq-amqp1.0#limitations-and-unsupported-features
In general if RabbitMQ gains support for these things via 0-9-1 then we
are likely to add support for them via 1.0. But we are not likely to
start adding features to RabbitMQ just because they're in the AMQP 1.0
spec. Note that there are bits of AMQP 0-9-1 that RabbitMQ still doesn't
support - because they would complicate things, and none of our users
seem to care.
Interoperability testing has also by necessity been quite limited; the
number of AMQP 1.0 clients out there at the moment is very small and
some of them have severe issues. We've done as much as we can, and if
new clients appear we will make sure we interoperate with them.
Finally, it's worth pointing out that we at RabbitMQ do *not* see AMQP
1.0 as the "natural successor" to AMQP 0-9-1. The protocols are
radically different in scope, and while AMQP 1.0 is probably easier to
retrofit to an existing non-AMQP broker, it's also a much more
complicated protocol at the wire level. Lots of people have written AMQP
0-9-1 clients from scratch; I don't imagine so many AMQP 1.0 clients
being written. And the lack of semantics in 1.0 can be a bad thing;
write your app against one AMQP 1.0 broker and it's not guaranteed to
work against another (not that 0-9-1 gives you such a guarantee but it
gets much closer).
So we see real value in AMQP 0-9-1 and will continue to support it
indefinitely. We see supporting AMQP 1.0 as akin to supporting MQTT or
STOMP: it's an interesting new protocol and hopefully it will be useful
to some of our users. But it's not The Future Of Messaging. Messaging
has many futures :-)
Cheers, Simon
--
Simon MacMullen
RabbitMQ, VMware
More information about the rabbitmq-discuss
mailing list