【问题标题】:Alternatives to RabbitMQ for .NET centric shop?以.NET 为中心的商店的 RabbitMQ 替代品?
【发布时间】:2011-05-10 12:54:08
【问题描述】:

我需要可靠的消息传递解决方案。看起来 RabbitMQ 可以满足我的应用程序的需求。但是,我的环境不太适合在服务器上部署 Erlang 和 Mnesia。这是一个企业环境,要部署这样的“非标准”部分是一场繁琐的繁文缛节之战。我更愿意找到一个类似于 RabbitMQ 的可靠消息传递框架,但建立在 .NET 之上。在 Oracle 和/或 SQL Server 中存储消息将是一个好处。那里有类似的东西吗?

我知道 NServiceBus,但我认为它不像 RabbitMQ 那样专注于可靠的消息传递。

【问题讨论】:

  • I'm aware of NServiceBus, but I don't think this is focused on reliable messaging as much as RabbitMQ is 你为什么这么说?
  • 嗯……我自己(可能很有限)对 NServiceBus 的理解。如果你想纠正我,那就去吧。也许我误解了 NServiceBus 想要做什么。

标签: .net messaging rabbitmq


【解决方案1】:

旧的 msmq 怎么样?它是 Windows 服务器系统上的标准组件,具有 WCF 绑定......所以我想这正是您正在寻找的。不过,afaik 它有自己的基于文件系统的消息存储,并且不支持用于此目的的 sql server 或 oracle。

【讨论】:

  • 据我了解,MSMQ 是一种持久化消息的机制,但它没有任何类型的服务层用于在消息发布者和订阅者之间进行编排或类似的东西。我宁愿不要自己写所有这些。但如果我是,持久层很可能是 MSMQ。
  • 这就是微软创建 WCF 的原因。
  • 我将不得不研究将 WCF 与 MSMQ 结合使用。感谢您的信息。
【解决方案2】:

看看ZeroMQ

【讨论】:

    【解决方案3】:

    我会使用 NServiceBus(您已经提到)或 MassTransit - 两者都使用 MSMQ。

    两者都专注于可靠的消息传递,并且已知用于许多关键应用程序。

    【讨论】:

      【解决方案4】:

      还有 ActiveMQ。它更适合 Java,但你可以让它在 .NET 中运行,我有一个大型 ActiveMQ 部署全部使用 C#,但我确实计划将它转换为 RabbitMQ。

      【讨论】:

      • ActiveMQ 自供应商创建 ZeroMQ 以来不再积极开发。对于内部使用,ZeroMQ 是一个很好的解决方案,因为不需要安装服务器。事实上,您可能希望从服务器获得的任何功能都可以使用 ZeroMQ 在您的一个应用程序中进行编程,因此您拥有最大的灵活性并且易于构建和支持。
      • @Michael Dillon 感谢之前从未听说过 ZeroMQ。我得调查一下。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多