英雄杀手游日赛:为什么我们需要ESB,ESB是怎么回事?

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 03:14:57

刚才的讨论是给朋友们一个完整的图景,SOA是怎么做的,在这里面看到ESB是如此之重要,所以我们要谈一点ESB,为什么我们需要ESB?ESB是怎么回事?

毛新生:ESB是分布式计算的范式自然演进过程,是帮助我们既让大家互联互通,又让大家以松耦合的方式很好联系在一起推动标准化的环境和交互的方式。

毛新生:从传统的角度来讲,大家写一个应用的时候,不管是EJB或者什么样的环境里面,写一个应用的时候,不过是一些组件。这些组件仿佛是一个家庭里的成员,是一个小组里的成员。大家抬头不见低头见,我非常清楚各自的底细,我晓得我这么说话你一定会生气,我这么说你一定哈哈大笑,我就用非常独特的方式跟你打交道,但是这是非常紧耦合的,基于我对你非常完备的理解和了解。

毛新生:可是,这样一个方式带来的代价非常大,在分布的环境下,实质上是非常难以扩展的,我们将刚才的场景放在北京市这个环境里,你还做得到吗?如果你希望跟北京市每个人都以独特的方式打交道,我相信等到你头发白的时候,你会跟大家说,不好意思我失败了。为什么呢?因为那个模式行不通。同样在企业级架构里面,如果我们希望在分布式环境里,让这些应用以松散耦合的方式互联互通,也需要有自己的范式。这个范式在过去这么多年里经过长时间的演变,起初是点对点的模式,大家都记得RPC以及那些二进制的对象等;逐渐演变到HUB为中心的方式,HUB模式将N N变成N+1,HUB的技术并不遵循标准,主要是有物理的瓶颈,HUB物理上单一存在;BUS将HUB进行了拓展,拓扑的模式还是N+1,把物理上只有一个中心,让它在网络上虚拟化,每个部分都有HUB的能力,但是未必有一个HUB的实体。

怎么做到这个事情?我们在整个互联网和Web服务器的发展,定义三角就是怎么帮助你,怎么以服务为中心的方式里怎么很好,很容易地寻找你要的服务,并且帮你进行路由和绑定,这就是ESB从能力上要做的主要事情。

毛新生:可是,这样一个方式带来的代价非常大。在分布的环境下,实质上是非常难以扩展的。我们将刚才场景放在北京市这个场景,你还做得到吗?如果你希望跟北京市每个人都以独特的方式打交道,我相信等到你头发白的时候,你会跟大家说,不好意思我失败了。

毛新生:为什么呢?因为那个模式不工作,同样在企业级架构里面,如果我们希望在分布式环境里,让这些应用以松散耦合的方式互联互通,也需要有自己的范式,这个范式在过去这么多年里经过长时间的演变,首先是点对点的模式,大家都记得RPC以及那些二进制的对象等,逐渐演变到HUB为中心的方式,HUB模式将N N变成N+1,HUB的技术并不遵循标准,主要的是有物理的瓶颈,HUB物理上单一存在,BUS将HUB进行了拓展,拓扑的模式还是N+1,把物理上只有一个中心,让它在网络上虚拟化,每个部分都有HUB的能力,但是未必有一个HUB的实体,怎么做到这个事情,我们在整个互联网和Web服务器的发展,定义三角就是怎么帮助你,怎么以服务为中心的方式里怎么很好很容易寻找你要的服务,并且帮你进行路由和绑定,这就是ESB从能力上要做的主要事情。

ESB是一种架构的范式,是SOA的集成

毛新生:为了完成这个事情需要几个层次上的能力。一个是物理连通性,这样一个异构环境、不同的主机环境,开源的环境,如何提供连通性的能力,实际上是极大的挑战。其次各自用的语言都不太一样,所以你要进行消息的转换。并且由于大家是分布的,所以要提供可靠、安全的消息路由。然后在这个基础上,你才有可能借助服务的定义,通过服务的注册服务器,或服务的注册数据库,帮助你根据业务的语义,根据使用服务者的要求动态的找到一个服务,帮你找到路由和绑定这个服务。所以,ESB是建立在过去消息中间件的基础上增加服务的中介层次而来的。

毛新生:它的表现很多,一个是高级ESB,别的是以Web服务为基础,加上GMS等普通协议的支持。你要提供非常可靠而又安全,并且将非常大的尺寸的消息从A地传到B地,很多系统做不了这事情。你用GMS传大文件一定是不行的。另外,可靠的传输要谈到消息传输的能力,你拿GMS试试看,我相信你会失望的。
毛新生:还有一个重要的问题,怎么将智能的大规模应用整合在一起,并且让交通智能在冗余路径上自动分发,拓扑的科学应用?这是IBM过去这么多年里慢慢总结出来的,是我们独门利器之一,是别人没有的,这些都是极其重要的。

ESB是什么?ESB是一种架构的范式,是SOA的集成。SOA作为整个企业架构,ESB作为在集成方面的架构元素。ESB的主体功能是在分布环境下,通过可靠、安全、聪明的分发和路由,在消息中间件的基础上,提供业务的寻找、路由和绑定。所以,ESB以及支持ESB架构方式的产品和技术,对于SOA来讲是极其重要的。