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

问题描述 投票:0回答:3

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

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

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

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

有人对上述内容有什么想法吗?是否有我忽略的客户?

提前非常感谢

.net rabbitmq amqp azureservicebus qpid
3个回答
6
投票

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

问候, 戴夫。

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


2
投票

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


0
投票

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

RabbitMQ 确实提供了自己的 AMQP 1.0 .NET 客户端: https://github.com/rabbitmq/rabbitmq-amqp-dotnet-client

© www.soinside.com 2019 - 2024. All rights reserved.