【问题标题】:AMQP V1.0 Client for .NET.NET 的 AMQP V1.0 客户端
【发布时间】:2014-02-11 02:04:07
【问题描述】:

我正在考虑使用 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


    【解决方案1】:

    .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

      【讨论】:

      • 嗨,迈克,感谢您的回复。我已经阅读了您链接到的博客文章以及许多其他发表略有不同意见的文章/文章,例如 John O'Hara 的文章。我认为计划是选择一个支持未来标准的平台。对我来说,似乎 OASIS 支持 AMQP v1.0。应该是考虑事项列表中的重要内容。但是,正如您所建议的,存在很大差异,这似乎在行业中引起了一定程度的分歧。我只是想了解 .NET 上有哪些客户端产品
      • 在个人层面上,如果您正在寻找 0.9.1 客户端来使用 RabbitMQ,请查看我的 EasyNetQ (easynetq.com) 库,它可以为您节省很多低级痛苦.还有 NServiceBus 和 MassTransit 在 AMQP 之上提供更高级别的抽象。
      • 再次感谢,我已经阅读了您在 EasyNetQ 上的一些帖子,并看到您去年出席了 QCon。我目前正在研究 Apache Qpid,看看它是否为我提供了一个可以与 AMQP 1.0 一起使用的客户端库。
      猜你喜欢
      • 2016-12-14
      • 2011-01-28
      • 2014-08-04
      • 2011-03-20
      • 2013-02-05
      • 2016-09-07
      • 2013-03-18
      • 1970-01-01
      • 2012-12-28
      相关资源
      最近更新 更多