NServiceBus 概况

摘要:
NServiceBus概述NSServiceBus概述NServiceBus旨在结合面向业务的服务,而不是取代WCF等RPC技术。在这方面,NServiceBus更类似于BizTalk和WCF。正如您可以编写宿主WCF的主机进程并激活它一样,NServiceBus也可以。NServiceBus中的总线是一个虚拟概念,它指的是在各种应用程序之间运行的框架对象的集合。]NServiceBus的设计原则使其能够承受长期测试。NServiceBus的字典中不存在单词blocking。相反,NServiceBus采用了这种模式,这对体系结构产生了深远的影响。
NServiceBus 概况

NServiceBus 概况

NServiceBus 被设计用来组合面向业务的服务,它并不是用来替代诸如 WCF 一类的RPC技术。

NServiceBus 不只包含通信模块,像其他成熟的SOA和DDD项目一样,它使用了多种组合的方法和技术。

本篇文章探讨了 NServiceBus 和微软相关产品的相似点和不同点。

相比 BizTalk 更接近 WCF

NServiceBus 概况第1张

当人们听到“服务总线”这个名词时,一般会描绘出如上图所示的画面,像 BizTalk 一样所有的通信都经过一个中央结点。这实际上描述的是一个代理的架构设计,而不是总线的架构设计。在总线架构中,物理实体并不是必须的。在这方面,NServiceBus 相比 BizTalk 与 WCF 更相似。

没有物理的 WCF 结点可以指向到网络拓扑结构中。NServiceBus 像 WCF 一样,是基础架构的一部分,运行进程内给定的应用程序代码。

就像你可以编写承载 WCF 的宿主进程并激活它一样,NServiceBus 也是如此。NServiceBus 中的总线是一个虚拟的概念,它指的是运行在各种应用程序之间的框架对象集合。你可以把它想象成运行在你的代码中的P2P网络,如下图:

NServiceBus 概况第2张

有何不同?

[就像苹果与橘子的不同。]

NServiceBus 的设计原则使得它的鲁棒性可以经受住长期的考验。事实证明,经过无数的技术更迭,NServiceBus 所基于的消息队列不光是一个明智的实现选择,更体现了其最主要的架构思想。在 NServiceBus 的字典中不存在阻塞这个词。

作为一个通用的通信技术,WCF 并不强制使用消息队列模式。相反,NServiceBus 采用这种模式,这对架构的影响是极其深远的。

当依照 WCF 所支持的传统 RPC 技术进行系统开发时,虽然可以简单直接地使系统可以工作,但 RPC 原则在本质上会对系统的可扩展性和容错性造成阻碍。在这一点上,即使是增加更多的硬件,收效也是微乎其微的。虽然 WCF 并不强制开发者沿着这条路走下去,但它也不能阻止问题的发生。NServiceBus 可以让你从一开始就避免这些问题。

单向消息传递的可扩展性

在可靠性、可用性和可扩展性中,架构应该首先关注可靠性,毕竟一个产生不可靠结果的高可用性和可扩展性的服务也没有什么价值的。消息队列一个显著的价值就是它可以应对各种错误场景。

就算错过了几分钟的消息记录,内部的消息仍然不会丢失。

学习曲线

当花了一些时间适应后,使用 NServiceBus 编写代码是相当简单的,代码将比以前更加简短,当然也更加容易进行单元测试。一个金融服务领域的架构师这样说:

虽然熟悉关于消息传递的思想需要花费数个星期,但是我们的开发人员只需要一个星期就可以完成一个发布/订阅的解决方案,这确实的证明了 NServiceBus 让编码变的多么简单。我们才刚开始 NServiceBus 的旅程,但已经因为它所能提供的而感到兴奋了。——Charlie Barker

英文原文:http://docs.particular.net/nservicebus/overview

 
 
分类: NServiceBus
标签: NServiceBus

免责声明:文章转载自《NServiceBus 概况》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vue.js中v-for的使用及索引获取【工作笔记】VLC播放器在chrome中的调用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

高端存储发展趋势

1. 高端存储的技术发展趋势 松耦合 高端存储刚出现的时候,采用的是紧耦合的多控体系架构。紧耦合架构的特点就是所有的资源都是物理集中在一起的,这些资源通常包括前端接口,后端接口和Cache,一般都插在一个大机箱里。随着技术的发展,特别用户对总体拥有成本(TCO)和可扩展性的追求,现在的高端存储厂商大部分采用了松耦合的多控体系架构。它们都有一个特点,每...

Apache Dubbo

分布式RPC框架Apache Dubbo 1. 软件架构的演进过程 软件架构的发展经历了由单体架构、垂直架构、SOA架构到微服务架构的演进过程,下面我们分别了解一下这几个架构。 1.1 单体架构 架构说明: ​ 全部功能集中在一个项目内(All in one)。 架构优点: ​ 架构简单,前期开发成本低、开发周期短,适合小型项目。 架构缺点: ​ 全部功...

架构之微服务设计(Nginx + Upsync)

Upsync,微博开源基于Nginx容器动态流量管理方案 。 Nginx 以其超高的性能与稳定性,在业界获得了广泛的使用,微博的七层就大量使用了 Nginx 。结合 Nginx 的健康检查模块,以及动态 reload 机制,可以近乎无损的服务的升级上线与扩容。这个时候扩容的频次比较低,大多数情况下是有计划的扩容。 Upsync,开发了模块 nginx-up...

Activiti7体系架构

一.Activiti7体系架构 通过加载activiti.cfg.xml文件得到ProcessEngineConfiguration对象,通过ProcessEngineConfiguration对象可以得到ProcessEngine对象 得到该对象后,可以通过流程引擎对象ProcessEngine来得到各种Service,每一种Service接口有每个用途...

AMD系列CPU

AMD处理器  AMD处理器即由AMD公司生产的处理器。AMD( 超微半导体 ) 成立于 1969 年,总部位于加利福尼亚州桑尼维尔,目前AMD是唯一能与英特尔抗衡的CPU厂商,旗下的独立显卡部门也和NVIDIA平分天下。   同主频的AMD处理器与Intel处理器,前者价格只是后者的一半左右,intel处理器的稳定性比AMD处理器的稳定性更好,AMD处理...

NUMA微架构

NUMA微架构written by qingran September 8th, 2011 no comment 现在开始补日志,逐步的扫清以前写了一半的和“欠账未还的”。半年之前开的头,今天先把NUMA说完。 PC硬件结构近5年的最大变化是多核CPU在PC上的普及,多核最常用的SMP微架构: 多个CPU之间是平等的,无主从关系(对比IBM...