什么是服务总线,什么时候需要一个?

我听说过NServiceBus ,但是我还没有真正理解它是什么。 他们声称是“最受欢迎的.net开源服务总线”。

所以; 什么是“服务巴士”,我什么时候需要一个?

您可以将服务总线视为SOA的以太网。

首先,它引入了识别事物的语言,如以太网中的IP地址。 这个名字本身并不是物理的。

接下来,在每个节点上都有一些物理参与,比如总线支持半连接通信的队列,或者隐喻中的以太网卡。

除了物理之外,还有通信的“协议”部分,如用于以太网的OSI栈。 使用总线,这是应用程序代码使用的客户端库。

最终,您可以将服务总线视为为构build分布式系统提供更高层次的抽象。 您也可以将其用于客户端 – 服务器通信,以便为您提供持久的单向消息传递,并使服务器将通知推送回客户端。

具体来说,一旦你使用排队技术(你selectRabbitMQ,MSMQ,Azure存储队列和Azure服务总线),你会发现NServiceBus是相当轻量级且易于使用的。

这个术语是以SOA的方式引入的,它是EAI的后继者(作为stream行词)。

什么时候需要它? 这是个好问题。 它带有很多复杂性。

经验法则可以解决更多的问题。

如果你有一个异质的环境,并且希望将(不同的)应用程序(使用不同的技术)与业务stream程alignment,那么要认真对待。 然后使用BPEL (但是这会引入migraton的问题)进行编排编排可能会有帮助

编辑:什么不是在维基百科,是实践:一个ESB可以适应使用特殊的连接器,旧的terminal应用程序用于Corba或Java企业这意味着互操作性。 缺点是围绕SOAP的100多个“标准”将不会付出巨大的努力。

如果在两家大型保险公司合并后的六个月内必须互联IT系统,那么您肯定需要它。

查看企业服务总线的维基百科文章。

服务总线是永无止境地追求实现一个良好的面向服务架构的另一个抽象层。 服务总线可以处理一些很好的服务导向架构,比如消息传送,路由和服务协调。

如果你不确定为什么你会想要这样的东西,我会build议阅读什么是一个好的面向服务架构。 这本书真正打开了我的眼睛,certificate了Web服务和具有真正的面向服务架构之间的不同是Thomas Erl的面向服务的体系结构:概念,技术和devise