C# ESB开源项目比较 NServiceBus vs MassTransit vs PEServiceBus

本文对比分析了NServiceBus与其他几种ESB产品,包括MassTransit、PEServiceBus等。详细探讨了NServiceBus相较于Web服务、WCF、BizTalk的优势,并对其可插拔性和社区活跃度进行了评价。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  因为项目需要,对一些开源的ESB产品做些分析和比较,NServiceBus vs MassTransit vs PEServiceBus

  在今后的blog中我会把这几种产品做一个详细的分析和实例比较,可以提供大家参考

  NServiceBus说明

 对比Web服务

这几乎不值得的努力,也需要输入。一旦你把“红色药丸”你永远不会看到的世界一样了。对我来说,这是要乌迪的类。去上他的课之前我已经做了十年的使用SOAP和REST的Web服务,我一直运行到同一类型的问题,一遍又一遍。我读过的所有的供应商的最佳实践等等,但一直困扰我的事情是如何与这些“最佳实践”(如果它甚至适当给他们打电话),总是指出我们回到购买更多的许可证,如的数据库许可证,OS许可证,如果你想大开眼界和样品的乌迪带来的表,看看他的可靠性,可用性和可扩展性网络直播。最大的问题是与Web服务它们运行相抵触的几乎所有的谬误。

那么,在哪里Web服务适应吗?作为第三方连接在网络上的集成点。他们已经在这一领域的工作很好,在可预见的未来将继续正常工作。此外,“网络服务”AJAX调用从浏览器到服务也可能是适当的。

对比WCF

从本质上讲,WCF只是一种包装微软的无数的集成和通信技术的下一个API。问题是,所有这些技术,除MSMQ,是建立在RPC远程过程调用的范式。从本质上讲,它是所有关于阻止通信。你能想象的世界里,你叫别人在手机上,等待搁置,直到您获得您所需要的信息吗?RPC是就这样。你的服务器是在0%的CPU,但你有没有服务的线程,因为他们都阻塞,等待远程服务,以应对。MSMQ绑定有帮助,但如果你使用它在一个同步阻塞方式的RPC类型的相互作用。

对比微软的BizTalk

这一个几乎是相同的Web服务,但我们正在朝着正确的方向前进。现在,至少我们要去的道路上朝着消息。唯一的问题是,我们所有的业务逻辑集中。别急,我想我们要集中业务逻辑,对吗?这是错误的。是的,我们要集中我们的业务逻辑,但我们要做到这一点,在“商业服务”的水平,而不是在基础设施和技术水平。此外,经纪一辆公交车经纪是一个单点的如果你是使用它作为一个集成点之间的多个业务服务失败,并在您的系统中的一个瓶颈。然后,是不好的。尽管微软尝试重新命名的BizTalk为“公共汽车”,它肯定是不。它是基于一个根本不同的范式后。不要上当,购买更多的许可证是绝对必要的。

另一方面,这并不是说,你不能利用的BizTalk如果你已经已经分叉的现金牌照。乌迪有一个很好的文章,关于如何利用的BizTalk。

对比MassTransit Rhino服务总线

让我先说,我非常高兴,这两辆公交车出现在现场。德鲁卖方,克里斯·帕特森和Oren Eini取得了显着的开源社区的贡献和努力的结果,每个人都受益。事实上,当我第一次开始做发布/订阅,我去MassTransit,因为API是清晰,简洁,代码驱动。NServiceBus在1.x阶段,但仍XML驱动线(唉!)仍然在很大程度上利用Spring.NET做注射。作为的结果MassTransit,界面和“主机”的环境中使用NSB已经显著增强。NET社区中一般有一个更好的了解的消息。

好了,现在的投诉。说实话,我没有什么可抱怨的。目前,我们的几个地方实际使用MassTransit的生产和这些地方一直表现和行为,我已经感到非常高兴。同时,开始了作为一个项目,帮助其学习通讯MassTransit。DRU和克里斯说,这多次。实际上,它已经为他们的学习经验。我将是第一个说我已经写了一个软件,每一次我学到了很多东西,通过编写软件。关键的一点,我试图把车开回家的是,NSB来的,因为有一个非常具体的需要乌迪与他的客户,他能够填补这个空白后等待(等待,等待)微软发布的东西在发布/订阅的空间。相反,DRU和克里斯,谁也有需要,实施作为工作的进展情况,了解有关信息。

尽管这一切,我也将是第一个说,即使你选择MassTransit,你是一个聪明的举动,我前面提到的所有其他选项相比。

这样做的另一个方面也值得关注,那就是社会。而这正是NServiceBus真正开始闪耀。在NET世界中,有相当多的这三种实现方式。Java有几个,我不知道存在的动态语言一边的围栏。但在。NET土地,,NServiceBus需要的蛋糕就一个活跃的社区。它有大量的文件和繁荣的雅虎集团。有传闻说,建立一个多层次的授权结构NSB一个支付选项,要求这些公司的支持合同,同时还免费为他人。这是一个重大的一步一个开放源码库的成熟度,几乎可以保证乌迪超越库的可行性。有效地库现在是“做大”他是,他是一个高大的家伙。

可插入性

另外一个关键的拼图是NServiceBus的可扩展性。几乎在任何可能的方式,你能适应它的工作在你的基础设施的要求。例如,你可以插入自己的消息队列基础设施,如果MSMQ是不是为你工作,或者你决定的ActiveMQ等,是更适合于您的组织。如果你需要一个不同的序列化,只需将其插入。如果您需要使用别的东西,除了一个关系型数据库的认购存储或你的传奇存储,只需插上电源线。

结论

NServiceBus作为其基础的分布式计算和理解,乌迪大汉的谬误。在一个点,它可以被看作是一种简单而有趣的,单开发项目的。但没有更长的时间。它早已跨越的鸿沟,威胁的obsolesce及折旧的鸿沟是否穿越过几个开源库。如今,它已成为一个严重的应用程序框架。让NServiceBus引导你的应用程序的开发走向成熟的概念,如发布/订阅,它有能力彻底改变你的组织内的开发方法,并大大降低成本,积极开发,集成和维护您的企业系统与。

转载于:https://www.cnblogs.com/xuliwen/archive/2012/10/09/2716519.html

NServiceBus 是一个.Net平台下开源的消息服务框架,这类产品有时也被称作ESB(Enterprise Service Bus)——企业服务总线。NServiceBus也是dotnet世界里面最流行的开源企业服务总线。       NServiceBus 是一个用于构建企业级 .NET系统的开源通讯框架。它在消息发布/订阅支持、工作流集成和高度可扩展性等方面表现优异,因此是很多分布式系统基础平台的理想选择。,它能够帮助开发人员在搭建企业.NET系统时避免很多典型的常见问题。同时,该框架也提供了一些可伸缩的关键特征,比如对发布/订阅的支持、集成的长时间工作流及深入的扩展能力等。       NServiceBus的核心并不依赖于MSMQ。NServiceBus可扩展性允许我们插入自行编写的通信传送器,、订阅存储器和工作流的实现。 NServiceBus的特性1、高性能和可扩展性可以广泛应用于许多业务领域,可扩展性和性能都经过了实战检验。2、具有自动重试的可靠性集成通过配置机制提供基于消息通讯的的最佳实践方案,能够识别错误响应并自动重试。3、工作流和后台任务调度通过Saga来完成长时间运行的流程定义和管理功能,提供强大而灵活的工作流功能。4、消息的集中审核流程很容易将整个分布式系统聚集到一个中心位置配置消息审核。5、通过发布/订阅来减少耦合提供了发布/订阅机制。可扩展、可配置、易于理解和易于使用。6、易于扩展和配置多个灵活的扩展点和配置选项,NServieBus可以根据用户需求对各个特性进行自定义配置。7、支持广泛的消息传输技术提供了MSMQ, RabbitMQ, SQL Server, Windows Azure Queues,Windows AzureService Bus消息传输机制,当然你也可以自定义或者选择由社区开发的消息传输方案。NServicebus官方地址:http://particular.net/git: https://github.com/Particular/NServiceBusNServiceBus原作者Udi Dahan,该产品最早于2006年发行了第一个版本,这是一个企业级的开源产品,企业开发需要购买License,参照:http://particular.net/licensing。 标签:消息框架
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值