[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