架构师考点大纲 架构设计
SOA
ESB从webservice的角度去理解,webservice是使用SOAP、XML、UUID、WSDL相结合的方式来解决不同应用间通信的,属于一种系统与系统直接的直接关联,而ESB则可以看作一个中转站,用于接收上一层发送的信息,然后处理并转发到下一层。而这样做的好处是: 若多个系统间通讯时,使用传统的webservice,将可能会出现如下情况。
他们分为外网和内网两个模块,内网使用的是xml的webservice方式实现,而外网的访问则是通过他们自己开发的ESB部分进行分发,在这里ESB部分还包括了防火墙的作用。
在OpenESB中,可以方便的使用格式转换、协议转换、代理、编排、安全控制、监控、不支持高并发,类似于路由器维护着一张路由表进行路由转发,其中的编排可以理解为服务编排:原本A、B、C三个服务,A调用B,而B需要C中的东西,则会形成一个A–>B–>C的访问串,而在ESB中则不会形成串。
阿里的dubbo,使用的是服务注册的方式,注册中心即dubbo内部只保存了接口的地址,A应用通过dubbo获得地址信息进行直接访问,其优点是适用于压力较大的系统,但不利于服务编排和协议转换,这两方面还是需要各个业务系统各自实现。
ESB和dubbo两者之间的侧重不同,前者更注重于服务编排,并且内部使用的是xml的形式,所以效率不高,不利于高并发,而后者注重服务的治理,提高服务之间访问的效率,而服务的编排则需要服务自身实现。
ESB
1、什么是ESB?
ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术XML、Web服务等技术结合的产物。esb的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时他还是可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。
ESB结构图(2021年系分案例考到):
2、ESB的主要功能?
消息转换和消息路由
企业服务总线(Enterprise Service Bus,ESB)是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。
ESB的主要功能有:
(1)服务位置透明性;
(2)传输协议转换;
(3)消息格式转换;
(4)消息路由;
(5)消息增强;
(6)安全性;
(7)监控与管理。