适用于.NET的AMQP V1.0客户端

时间:2014-01-21 12:55:41

标签: .net rabbitmq amqp azureservicebus qpid

我正在研究使用RabbitMQ或ActiveMQ等产品。我发现AMQP v1.0在某些程度上对这些产品有一定程度的支持。

但是,我很难找到一个使用AMQP 1.0和.NET的客户端。到目前为止,我遇到的唯一一个是Apache Qpid。但是,必须安装所有依赖项以及构建所有依赖项而不仅仅使用像NuGet这样的东西来获取客户端库似乎有点麻烦,并且不会让我对前进的支持有信心。

Microsoft Azure Service Bus支持AMQP 1.0,并且有一个客户端,但据我所知它似乎特定于该产品,这是一种耻辱,因为我认为AMQP的一个好处是易于切换不同的经纪人。

根据我在RabbitMQ上看到的内容,他们似乎没有承诺为AMQP 1.0构建客户端。

有没有人对上述事项有任何想法,是否有任何我忽略的客户?

非常感谢提前

2 个答案:

答案 0 :(得分:4)

最完整的.NET AMQP 1.0客户端是#34; Amqp.Net Lite" [1]。我知道有人在Azure Service Bus,Qpid C ++代理和ActiveMQ上取得了成功。

此致 戴夫。

[1] https://amqpnetlite.codeplex.com/

答案 1 :(得分:1)

AMQP 0.9.1,RabbitMQ实现的,AMQP 1.0是非常不同的野兽,所以许多人认为他们不应该以任何方式真正地联系起来。 AMQP 0.9.1协议有效地包含两部分:有线协议和代理协议。我的理解是,AMQP 1.0仅描述了有线协议,因此供应商可以独立于协议指定其代理体系结构,从而确保锁定。

如果您的计划是选择一个客户端库,然后可以使用它连接到Azure SB和RabbitMQ,那么我认为您可能会感到失望。互操作性最好的选择是坚持使用0.9.1。

欲了解更多信息,Pieter Hintjens在此发表了一篇精彩的博文:http://hintjens.com/blog:28