我们需要一个具有发布/订阅功能的分布式架构消息系统/服务总线。是否有人对我们可用于 .net 应用程序的框架有任何建议?
7 回答
NServiceBus越来越受欢迎。它也是开源的。这是一个Hanselminutes 插曲,Scott Hanselman 与 Udi Dahan 谈论 NServiceBus 以帮助理解它。您绝对应该评估使用它。
更新:还有一个 DNR 电视剧集,展示了从头开始构建 NServiceBus 解决方案的感觉:http ://www.dnrtv.com/default.aspx?showNum=199
查看RabbitMQ。.NET 客户端功能齐全,而且非常易于使用。有一本书名为RabbitMQ in Action,以及RabbitMQ in Depth可在早期访问版本中获得。
我发现集成到Apache NMS中的ActiveMQ非常易于理解、设置和透明。
例如,ActiveMQ 带有一个 Web 前端,允许您使用 Web 浏览器查看消息队列,并读取、删除甚至创建消息。因此,您可以非常轻松地开始开发和测试分布式应用程序的一侧,并且调试和监控非常简单。
我目前正在开发基于开源 WCF 的服务总线。你可以在这里找到它:http ://rockbus.codeplex.com/ 。它支持动态(@run-time)订阅、订阅存储库(数据库)、可插入传输、基于 XPath 的基于内容的路由、基于 wcf 协议的事务交付、循环交付、可插入订阅评估等。看一看!
到目前为止,.NET 堆栈中还没有成熟的服务总线实现。微软目前正在开发一种。
http://msdn.microsoft.com/en-us/library/windowsazure/jj193022(v=azure.10).aspx
作为一种选择,您可以使用 Java 世界中的一个。例如,TIBCO - 他们有相当强大的 .NET 客户端可用,或 OpenMQ。
如果您不需要广泛的功能并准备开发自己的系统 - 请使用 WCF。WCF 回调非常适合这种情况。
我发现Neuron ESB是一个可靠的实现,尽管我还没有在愤怒中使用它。