AMQP 0-9-1 对 1-0

AMQP 0-9-1 vs 1-0

我正在为一个新项目寻找消息传递服务,该项目必须将一些 C# 应用程序与一些 Java 应用程序连接起来。我真的很喜欢 RabbitMQ,因为它似乎对这两种技术都有惊人的支持。我在 RabbitMQ 规范中看到,目前仅提供 AMQP 0-9-1 模型。

这是一个表演障碍吗?我应该向提供 AMQP 1.0 的 ActiveMQ 发送地址吗?

感谢您的建议

你的问题在官方已经完美解决protocol overview:

AMQP 1.0

Despite the name, AMQP 1.0 is a radically different protocol from AMQP 0-9-1 / 0-9 / 0-8, sharing essentially nothing at the wire level. AMQP 1.0 imposes far fewer semantic requirements; it is therefore easier to add support for AMQP 1.0 to existing brokers. The protocol is substantially more complex than AMQP 0-9-1, and there are fewer client implementations.

RabbitMQ supports AMQP 1.0 via a plugin.

如果您的客户都实现了 AMQP 1.0,并且它为您提供了超过 0.9.x 的显着优势,并且您根本无法没有它,并且另一个经纪人提供比 RabbitMQ 更好的 1.0 支持(其插件是 "experimental" 在撰写本文时),那么是的,也许您应该看看另一家经纪人。否则,我怀疑它会给你带来很大的实际差异,而且 RabbitMQ 似乎正在努力添加完整的 1.0 支持,所以它可能是未来可行的升级路径。如果你自己不能指出具体的证据为什么 0.9.x 单独是一个 showstopper,我也不能。