我听说过有关NServiceBus的话题,但我还不太了解它是什么。他们声称自己是“ .net最受欢迎的开源服务总线”。
所以; 什么是“服务总线”,什么时候需要?
我听说过有关NServiceBus的话题,但我还不太了解它是什么。他们声称自己是“ .net最受欢迎的开源服务总线”。
所以; 什么是“服务总线”,什么时候需要?
Answers:
您可以将服务总线视为SOA的以太网。
首先,它引入了一种识别事物的语言,例如以太网中的IP地址。这个名字并不是固有的物理名称。
接下来,每个节点上都涉及一些物理问题,例如在总线上支持半连接通信的队列,或在隐喻中使用以太网卡。
除了物理之外,还有通信的“协议”部分,例如用于以太网的OSI堆栈。对于总线,这是应用程序代码使用的客户端库。
最终,您可以将服务总线视为构建分布式系统的下一个更高级别的抽象。您还可以将其用于客户端与服务器之间的通信,从而为您提供持久的单向消息传递,以及服务器将通知推送回客户端。
具体来说,一旦您对NServiceBus的排队技术感到满意,您就会发现NServiceBus非常轻巧且易于使用-您可以选择RabbitMQ,MSMQ,常规SQL表,Amazon SQS,Azure存储队列和Azure Service Bus。
查看Wikipedia中有关Enterprise Service Bus的文章。
在实现良好的面向服务的体系结构的永无止境的追求中,服务总线充当了另一层抽象层。服务总线可以处理良好的面向服务的体系结构(例如消息传递,路由和服务协调)背后的繁重工作。
如果您不确定为什么要这样,我建议您阅读一下什么可以构成一个好的面向服务的体系结构。这本书真正让我大开眼界,并证明了拥有Web服务和拥有真正的面向服务的体系结构之间的区别是Thomas Erl的面向服务的体系结构:概念,技术和设计
该术语是在SOA中引入的,SOA在某种程度上是EAI的后继者(流行语)。
什么时候需要?这是个好问题。它具有很多复杂性。
如果解决的问题多于其所带来的问题,凭经验可以解决。
认真的说,如果您具有异构环境,并且想要(使用不同的技术)使(不同的)应用程序与业务流程保持一致。然后使用BPEL进行编排和编排可能会有所帮助(但这会通过迁移引入问题)
编辑:维基百科上没有的是实践:ESB可以使用特殊的连接器,用于Corba或Java Enterprise的旧终端应用程序进行ig适配,这意味着互操作性。缺点是围绕SOAP的100多个“标准”在不付出巨大努力的情况下就无法合作。
如果必须在两家大型保险公司合并后的六个月内互连IT系统,则肯定需要它。