企业服务总线、.NET服务总线(Windows Azure AppFabric服务总线)、NServiceBus、RhinoServiceBus、MassTransit等。
我正在尝试理解这些技术中的每一项有什么共同之处或不同之处。
今天早些时候,我参加了Juval Löwy关于.NET服务总线的演讲,他说.NET服务总线可以用作企业服务总线的穷人版本,所以我认为这意味着.NET服务总线不是企业服务总线,其他的是真正的企业服务总线吗?
如果其他企业服务总线是真正的企业服务总线,那么是什么使它们成为真正的企业服务总线,而不是.NET服务总线呢?
发布于 2010-04-16 20:33:38
我同意另一个发帖者的观点: ESB有点像SOA,这是一个通用的定义,它主要用作营销卖点,而不是作为您必须满足的严格标准。
来自维基百科:
对于是否将企业服务总线( Enterprise Service Bus,
)定义为一种体系结构风格、一种软件产品或一组软件产品,ESB评论员意见不一。虽然使用ESB肯定意味着要遵守特定的体系结构,但术语“企业服务总线”几乎总是表示支持这种体系结构的软件基础结构,本质上,ESB被认为是实现面向服务的体系结构的平台。
ESB为面向服务的体系结构引入了流相关的概念,如转换和路由。ESB还可以为端点提供抽象。
ESB作为一个术语似乎是由Dave Chappel创造的,他是谁?Sonic Software的技术布道者(“企业服务总线”的作者-O‘’Reilly:2004年6月,ISBN0-596-00675-6)。我已经读过这本书,并参加了Chappell的几个研讨会,我担心这本书本身在帮助您确定产品X是否是“真正的”ESB方面帮助不大。
一般来说,你应该寻找一些基于消息的东西(这显然是最初的意图,即使其他一些公司,如webMethods,使用这个术语来描述他们的产品,这更多地是面向was服务的)。
这个想法是让您的IT基础设施中的所有“服务”能够相互接收和发送消息。ESB提供路由,并具有接口端点,因此,如果您的原始应用程序工作正常(例如,通过HTTP post调用JSP页面),则您有一个小程序,该程序可以接收消息,使用其有效负载通过HTTP发布消息,解释结果并使用这些消息构建消息响应。
基本上,想象一下,您使用消息队列、构建路由站以及消息队列和其他系统之间的接口,而不是使用webservices来处理所有事情。这是一个ESB。
这篇文章很长,但很有启发性:https://gist.github.com/chitchcock/1281611
( Steve Yegge的一篇文章讲述了亚马逊是如何转向"API for everything“策略的)。
发布于 2010-04-16 09:40:21
我认为您需要理解,ESB更多的是一个营销术语,而不是一个技术术语。许多供应商都打着这面旗号展示技术。
值得关注的是总线架构风格,在这种风格中,事件源和汇点进行了协作。NServiceBus、RhinoServiceBus和MassTransit具有内置的发布和订阅事件的概念,而.NET服务总线则没有。
以上三者之间的差异更多的是在形式上而不是功能上-稳定性、文档、社区等。
希望这能有所帮助。
https://stackoverflow.com/questions/2634784
复制相似问题