".NET中心商店的RabbitMQ替代方案是什么?"

6
我需要一个可靠的消息传递解决方案。看起来RabbitMQ可以满足我的应用需求。但是,我的环境不适合在服务器上部署Erlang和Mnesia。它是一个企业环境,部署像这样的“非标准”组件需要经过繁琐的审批。我希望找到一个类似于RabbitMQ的可靠消息框架,但是基于.NET构建。将消息存储在Oracle和/或SQL Server中将是一个额外的优势。有没有类似的东西存在?
我知道NServiceBus,但我认为它关注的不如RabbitMQ那样专注于可靠的消息传递。

我知道NServiceBus,但我认为它并不像RabbitMQ那样专注于可靠的消息传递。你为什么这么说? - jgauffin
嗯...我对NServiceBus的理解可能有限。如果您想纠正我,可以随意。也许我误解了NServiceBus试图做什么。 - RationalGeek
4个回答

3

3

那么老牌的msmq怎么样?它是Windows服务器系统上的标准组件,具有WCF绑定...所以我想这正是您要寻找的。虽然据我所知,它有自己基于文件系统的消息存储,并且不支持SQL Server或Oracle用于此目的。


据我所知,MSMQ是一种用于持久化消息的机制,但它没有任何用于协调消息发布者和订阅者之间的服务层或类似的东西。我不想自己编写所有这些内容。但如果我要编写,持久化层很可能会使用MSMQ。 - RationalGeek
这就是微软创建WCF的原因。 - Hans Passant
我需要研究如何使用WCF和MSMQ。谢谢提供的信息。 - RationalGeek

2
我建议使用NServiceBus(如你所提到的)或MassTransit,两者都使用MSMQ。
这两个框架都专注于可靠消息传递,并且已被广泛应用于许多关键应用程序。

0

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


1
ActiveMQ自从供应商创建了ZeroMQ后,不再进行积极开发。对于内部使用而言,ZeroMQ是一个很好的解决方案,因为无需安装服务器。实际上,您可能需要从服务器中想要的任何功能都可以在使用ZeroMQ编写的应用程序中进行编程,因此您具有最大的灵活性,并且易于构建和支持。 - Michael Dillon
@Michael Dillon 谢谢,我以前从未听说过ZeroMQ。我得研究一下它。 - Kelly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接