ESB的体系结构

ESB(企业服务总线)是面向服务架构(SOA)的关键组件,旨在解决企业系统间数据多样性和协议复杂性问题。通过ESB,企业可以实现各个系统的互联互通,简化接口适配。ESB的内部结构包括IN端、OUT端和路由器,负责数据的拆分、重组和路由。然而,随着系统数量的增长和业务复杂性的增加,ESB可能会变得臃肿,导致排错困难和性能瓶颈。
摘要由CSDN通过智能技术生成

什么是ESB

企业服务总线,即ESB全称为Enterprise Service Bus,指的是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。
面向服务的体系结构已经逐渐成为IT集成的主流技术。面向服务的体系结构(service-oriented architecture,SOA)是一种软件系统设计方法,通过已经发布的和可发现的接口为终端用户应用程序或其它服务提供服务。

ESB的产生

ESB的产生即是为了解决企业中数据的多样性和协议的复杂性问题。如下图所示,系统与系统之间的数据传输是复杂的,同时又涉及到系统的交互,谁来适配谁就成了一个难题,因此ESB应运而生。

在这里插入图片描述

ESB能够解决的问题

如果使用原生的服务调用,谁来适配谁成了一个大难题,谁来主导这次交互就会争论不休,如图所示。

在这里插入图片描述

如果一个系统接入外部系统,可能接入协议不同,则需要每个写一套适配流程,为了解决这个问题,且最大限度的复用代码,ESB采取了SOA架构,为每个请求方分配一个端口,为每个服务端提供的服务分配一个服务码和场景码供前端调用,此时前端将原来的几套适配流程转为只需要按照ESB的规定进行适配即可。

在这里插入图片描述

我们来看一个简易的ESB流程在整个项目链路中的位置,前端接入自己的系统需要通过ESB,此时我们作为服务方,我们接入其他系统也需要经过ESB,此时我们作为渠道端,即ESB可以理解为沟通整个企业所有系统的一个总线系统。

在这里插入图片描述

ESB的内部结构

ESB的内部结构就是通过拆组包,对一种报文进行拆分,拆分成一个个字段,再讲字段定向路由重组发送给后端系统,得到返回后将特定报文在进行拆分成一个个字段,并将字段重组成所需的报文组合返回给前端。

在这里插入图片描述

ESB的内部结构即一个IN端用来处理和前端交互的数据,OUT端用于处理和后端交互的数据,此时多个前端可以复用后端提供给ESB的接口功能,IN和OUT的重合部分则是一个router,正因为有这个router,可以使前端不需要知道后端系统是谁,只需要根据ESB提供的接口调用ESB,然后ESB将数据返回即可。

在这里插入图片描述

正是因为ESB的拆组包的灵活性和适配流程的多样性使得ESB可以适配不同的协议,不同的数据格式,使企业中每个系统通过总线连接起来,实现数据互通。

ESB的瓶颈与弊端

当然ESB也存在一些缺点,虽然它在设计之初定义了不处理业务数据,只进行数据的拆分与组装,但是随着接入系统的增多与业务的复杂性,难免会根据不同的业务对同一系统拆分出不同的适配流程,虽然适配流程可以自由组合,但是也会导致系统越来越臃肿与庞大,难免会进行一些简单的转换操作,这种以一个微服务来管理所有为服务的思想是否可行仍需要等待时间的验证。

在这里插入图片描述

而且所有系统都接入ESB会导致系统排错比较困难,如上图,任何一个链路挂掉都需要通过ESB进行排查问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>