AMQP 1.0实现在哪里?等待会有意义吗?

时间:2012-08-13 05:36:14

标签: rabbitmq amqp qpid

我正在研究找出我们未来产品的解决方案,我无法真正理解这一点。

有一堆AMQP 0.9.1实现(RabbitMQ,Apache Qpid,OpenAMQ,仅举几例),但没有AMQP 1.0实现,尽管1.0已于2011年10月完成。好吧,除了SwiftMQ [1]。

阅读1.0,它似乎与1.0之前的规范有很大的不同,所以似乎可以理解的是,对一些工作正常的重大改写几乎没什么热情。事实上,我不明白为什么RabbitMQ和其他人不会决定迁移到ZeroMQ而不是AMQP 1.0。

尽管如此,除了一些模糊的承诺,例如“努力始终实施最新的AMQP规范”之外,我无法在1.0 AMQP规范的实施者中找到任何明确的声明。

编辑: RabbitMQ确实说了

  

A future version of RabbitMQ will implement AMQP 1.0. Please contact us for details.

然而,something告诉我该陈述已超过3年,即它早于AMQP 1.0的发布。

有没有迹象表明AMQP 1.0可能成为一个标准,除了主要银行 - 和微软 - 支持它的事实?顺便说一句。没有自己的实现。

似乎AMQP 0.9.1比1.0更标准。

嗯,有https://github.com/rabbitmq/rabbitmq-amqp1.0,它自称的状态是原型,显然半年没有工作。

[1]我通过its author's rant on Spring's lacking AMQP support得到的SwiftMQ的第一印象,这就是为什么我暂时不考虑它。我不想指望那个人的支持

6 个答案:

答案 0 :(得分:15)

AMQP 1.0仅作为AMQP 0-9-1的替代品。这两者是如此不同,以至于给它们不同的名称可能更清楚。

选择当前的0-9-1实施并不限制您:

0-9-1定义了代理和消息传递模型,而1.0定义了消息传递传输。因此,可以将AMQP 1.0传输与0-9-1结合起来,正如RabbitMQ在2011年纽约市AMQP 1.0会议上所展示的那样。因为它是一种传输,AMQP 1.0也可以附加到专有和/或封闭非免版税经纪人。

AMQP 1.0刚刚进入“为期60天的公众评审期,准备成员投票,以考虑其作为OASIS标准的批准”。

“为期60天的公众评论将于2012年8月14日开始,并于2012年10月13日结束。

这是一个公开的评论邀请。 OASIS征求潜在用户,开发人员和其他人的反馈意见,无论是否为OASIS成员,都是为了提高其技术工作的互操作性和质量。“

此处详细信息:

https://www.oasis-open.org/news/announcements/60-day-public-review-for-advanced-message-queueing-protocol-amqp-v1-0-candidate-o

答案 1 :(得分:8)

本周批准了OASIS AMQP 1.0标准,见https://www.oasis-open.org/news/pr/amqp-1-0-approval。在1.0实现方面,它仍然有点早,我知道有很多开发正在进行,但是,截至目前,这里有一个可用组件列表:

经纪人:

客户端库:

答案 2 :(得分:5)

根据他们的 outdated 规范page,我可以根据来自RabbitMQ团队的声明查找最新内容

  

是AMQP工作组的积极参与者,该工作组旨在于今年提供可实施的AMQP 1.0草案。

是来自RabbitMQ&#39> Simon MacMullen 的消息,从2012年1月开始(省略号,强调我的):

  
    

另外,为什么RabbitMQ会考虑不支持1.0?是思考     它可能没有看到行业采用,或其他什么?

  
     

[...] 它与0-9-1有如此大的差异,我认为是这样   一个不同的协议真的,尽管名字。 [..]

     

是的,我想支持它,但我也想支持MQTT和   SQS和[..]

     

并且它可能看不到很多行业采用,[..]并且没有想要   抱怨太多,它相当沉重和复杂,所以要支持   我们正好看着而不是做了很多其他事情   我们想要。

     

当然,如果AMQP 1.0大幅度提升,那么很可能   改变事情

来源:https://groups.google.com/d/topic/rabbitmq-discuss/9Hj0FzgyLQk/discussion

答案 3 :(得分:3)

还有其他1.0实现。即将发布的Qpid版本(可能在未来几周内发布)将支持JMS客户端和Java代理。正在进行1.0支持其他组件的工作(针对后续版本),并基于新的质子库,该库旨在用作向现有经纪人或其他系统添加1.0支持的简单方法。 1.0支持。所以Qpid项目肯定致力于1.0的全面支持,最终将取代所有以前的版本。 API旨在简化向1.0的过渡。

答案 4 :(得分:1)

很遗憾,但特别是支持是你可以依赖我的东西。 ; - )

回答你的问题是否等待是有意义的:是的!为什么?查看Proton

  

Proton基于AMQP 1.0消息传递标准。

答案 5 :(得分:0)

根据http://geekswithblogs.net/michaelstephenson/archive/2012/08/12/150399.aspx

  

目前,内部服务总线或云端不支持AMQP,但有一个网络广播解释了微软在AMQP上的立场,这听起来像是未来版本中的一个重要特征

所以:

  

等待会有意义吗?

我认为答案是:

  • 尽管有最初的热情,MS仍然不在场,我在公告和recently released {{的文档中找不到AMQP的任何提及1}} 更新:MS方面有新闻,请参阅David Ingham的回答。
  • Service Bus for Windows Server,那是11周前。预测当然很难做到,但事实上,它仍然不在这里。

除了SwiftMQ之外,没有任何有效的AMQP 1.0实现,并且从最近的公告和声明来看,并没有太大的热情。我希望Qpid尽快发布,毕竟,1.0起草人是该项目的成员 - 但如果没有,那就像是棺材中的最后一个钉子。

无论如何,AMQP 1.0并未被广泛采用,并且没有可靠的迹象表明它在可预见的未来会变得如此。