5

我正在研究使用 RabbitMQ 或 ActiveMQ 等产品。我看到这些产品在一定程度上支持 AMQP v1.0。

但是,我正在努力寻找将 AMQP 1.0 与 .NET 一起使用的客户端。到目前为止,我遇到的唯一一个是 Apache Qpid。但是,必须安装它的所有依赖项并构建它,而不是仅仅使用 NuGet 之类的东西来获取客户端库,这一切似乎有点麻烦,并且不给我提供支持前进的信心。

Microsoft Azure 服务总线支持 AMQP 1.0 并有一个客户端,但据我所知,它似乎是特定于该产品的,这很遗憾,因为我认为 AMQP 的好处之一是可以轻松切换不同的代理。

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

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

提前谢谢了

4

2 回答 2

6

.NET 最完整的 AMQP 1.0 客户端是“Amqp.Net Lite”[1]。我知道有人在 Azure 服务总线、Qpid C++ 代理和 ActiveMQ 方面取得了成功。

问候,戴夫。

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

于 2015-01-26T14:19:45.257 回答
1

RabbitMQ 实现的 AMQP 0.9.1 和 AMQP 1.0 是非常不同的野兽,如此不同以至于许多人认为它们不应该以任何方式真正联系起来。AMQP 0.9.1 协议实际上有两部分:有线协议和代理协议。我的理解是 AMQP 1.0 只描述了有线协议,因此让供应商独立于协议指定他们的代理架构,从而确保锁定。

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

有关更多信息,Pieter Hintjens 在这里有一篇很棒的博客文章:http ://hintjens.com/blog:28

于 2014-01-21T13:11:11.777 回答