我在做研究,以找出消息解决方案来解决对我们未来的产品,我真的不能明白这一个了。
有一堆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。
不过,我不能预先1.0 AMQP规范的实现者找到任何明确的说法,只是一些模糊的承诺,如“努力始终贯彻最新的AMQP规范”。
编辑:实际上的RabbitMQ不说
RabbitMQ的未来版本将实现AMQP 1.0。 请联系我们。
然而, 东西告诉我,这种说法是超过3岁,也就是说,它早的AMQP 1.0的发布。
那么,有没有任何迹象表明AMQP 1.0可能会成为一个标准,除了一个事实,即大银行 - 和微软 - 都落后吗? 后者BTW。 没有自己的实现。
它似乎像AMQP 0.9.1更标准大于1.0会。
嗯,有https://github.com/rabbitmq/rabbitmq-amqp1.0 ,这是自封的状态为原型 ,其上没有明显的工作了半年。
[1]我的SwiftMQ的第一印象我借了作者对春天的缺乏AMQP支持咆哮 ,这就是为什么我不认为它暂时。 我不想从这个家伙的支持计数。
AMQP 1.0是唯一的名字来AMQP 0-9-1的替代方案。 这两者是如此不同,它可能是更清晰的给他们不同的名字。
选择当前0-9-1实现不限制你:
0-9-1限定了代理和消息模型,而1.0定义了一个消息传输。 因此,有可能对1.0 AMQP运输与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
OASIS的AMQP 1.0标准已于本周批准,见https://www.oasis-open.org/news/pr/amqp-1-0-approval 。 在1.0的实现而言,它仍然是一个有点早,我知道有很多发展的事情,但是,截至目前,这里的可用组件的列表:
经纪人:
- SwiftMQ中- http://www.swiftmq.com/downloads/
- Apache的Qpid Java的券商(0.18版本) - http://qpid.apache.org
- 微软Azure服务总线- http://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-amqp-overview/
客户端库:
- SwiftMQ中Java客户端库- http://www.swiftmq.com/downloads/
- Apache的Qpid JMS客户端库(0.18版本) - http://qpid.apache.com
- Apache的Qpid质子-C - C客户LIB INC。 绑定Python和PHP - http://qpid.apache.org/proton/
- Apache的Qpid质子-J - Java客户端的lib - http://qpid.apache.org/proton/
- 微软Azure服务总线.NET客户端- http://nuget.org/packages/ServiceBus.Preview
最近,我可以从RabbitMQ的团队 ,其中,根据他们的说法来讲发现过时的规格页面还
在AMQP工作组,其目的是在今年提供可实现的AMQP 1.0草案的积极参与者。
是的RabbitMQ的西蒙MacMullen这个消息是从2012年1月(省略号,重点煤矿):
另外,为什么会考虑的RabbitMQ不支持1.0吗? 是以为它可能看不到行业的采用,还是其他什么东西?
[..] 它是从0-9-1,如此大的差异,我认为这是一个不同的协议 ,尽管真正的名字。 [..]
所以,是的, 我想,以支持它,但我也想支持MQTT和SQS和[..]
它可能不会看到太多行业采用 ,[..]而且没有想太多的抱怨, 这是相当沉重和复杂 ,所以要支持它正确,我们会看不是做了很多其他的东西,我们要。
当然, 如果AMQP 1.0基本上起飞那么很可能改变的东西 。
来源: https://groups.google.com/d/topic/rabbitmq-discuss/9Hj0FzgyLQk/discussion
还有其他的1.0的实施方式。 即将发布Qpid(很可能在接下来的几个星期提供)将会对JMS客户端和Java代理1.0的支持。 对其他组件1.0的支持工作正在进行中(针对后续版本),并基于新的质子库,它被设计成可用本身增加1.0支持现有的经纪人或将受益于其他系统的简单方法1.0的支持。 所以Qpid项目肯定是致力于全面支持1.0最终将取代以前的所有版本。 这些API已经被设计为顺利过渡到1.0。
伤心,但特别的支持是你可以依赖我。 ;-)
要回答你的问题是否有意义等待:YES! 为什么? 退房腾 。
质子是基于AMQP 1.0消息标准。
据http://geekswithblogs.net/michaelstephenson/archive/2012/08/12/150399.aspx :
AMQP目前未对服务总线支持的前提下还是在云中。然而有一个网络直播解释对AMQP微软的立场,这听起来像在将来的版本期待的一个重要特征
所以:
难道是有意义的等待?
我想这是公平地说,答案是: 没有 。
-
MS仍然是不存在的,尽管所有的最初的热情,我找不到任何提及AMQP
的公告及的文件近期发布 Service Bus for Windows Server
更新 :有一个在MS侧的消息,看到大卫·英厄姆的答案。 -
the upcoming Qpid release (probably available in the next couple of weeks) will have 1.0 support for the JMS client and the Java broker
,这是11周以前。 预测当然是很难做出的,但事实上,它仍然不是在这里。
所以除了SwiftMQ中,没有任何工作AMQP 1.0实现在那里,并没有很多的热情,从近期的公告和声明来看。 我希望Qpid做发布不久,毕竟1.0起草人是该项目的成员 - 但如果不是,那会像在棺材上的最后一颗钉子。
在任何情况下,AMQP 1.0并未得到广泛采用,并没有可靠的迹象,它会在不久的将来变成这样。