我听说过关于NServiceBus的讨论,但我还没有真正理解它是什么。他们自称是“最流行的.net开源服务总线”。
什么是服务总线,什么时候需要服务总线?
发布于 2010-04-28 13:28:04
您可以将服务总线视为SOA的以太网。
首先,它引入了一种识别事物的语言,比如以太网中的IP地址。这个名字本质上不是物理的东西。
接下来,在每个节点上都涉及到一些物理内容,比如用于支持半连接通信的总线中的队列,或者比喻为以太网卡。
除了物理之外,还有通信的“协议”部分,就像以太网的OSI堆栈一样。对于总线,这是应用程序代码使用的客户端库。
最终,您可以将服务总线视为为构建分布式系统提供更高级别的抽象。您还可以将其用于客户端-服务器通信,为您提供持久的单向消息传递,以及让服务器将通知推送回客户端。
具体地说,一旦你接受了队列技术--你可以选择RabbitMQ,MSMQ,常规SQL表,Amazon,Azure Storage Queues和Azure Service Bus --你会发现NServiceBus是非常轻量级和易于使用的。
发布于 2010-04-28 04:27:16
查看维基百科上关于Enterprise Service Bus的文章。
在实现良好的面向服务的体系结构的无休止追求中,服务总线充当另一个抽象层。服务总线可以处理良好的面向服务的体系结构背后的一些繁重任务,如消息传递、路由和服务协调。
如果你不确定为什么你想要这样的东西,我建议你去读一读什么是一个好的面向服务的体系结构。真正让我大开眼界并证明了仅仅拥有Web服务和拥有真正的面向服务架构之间的区别的书是Thomas Erl的Service-Oriented Architecture: Concepts, Technology, and Design
发布于 2010-04-28 04:58:43
这个术语是由SOA引入的,在某种程度上,它是EAI的继任者(作为流行语)。
当你需要的时候?这是个好问题。它带来了很大的复杂性。
如果它解决的问题比它造成的问题更多,这条经验法则是可以做到的。
如果您有一个异构的环境,并且希望(使用不同的)应用程序与业务流程对齐(使用不同的技术),请认真对待。然后,将BPEL用于编排和编排可能会很有帮助(但这会在迁移中引入问题
编辑:维基百科上没有的是实践:一个ESB可以i.g。适应使用特殊的连接器,旧的终端应用程序与Corba或Java Enterprise一起使用,这意味着互操作性。缺点是围绕SOAP的100多个“标准”,如果没有巨大的努力就不会合作。
如果你必须在两家大型保险公司合并后的六个月内互联it系统,你肯定需要它。
https://stackoverflow.com/questions/2724816
复制相似问题