api接口开放平台推荐 api网关设计原则( 四 )


ESB总线对遗留系统提供的SOAP接口进行适配,发布为Http Rest接口ESB总线实际对遗留系统SOAP同时发布SOAP和Http Rest两个服务API网关将ESB总线提供的Http Rest接口注册和接入微服务模块访问API网关提供的Http Rest接口服务实际上我们看到,在微服务集成场景下,对ESB发布的Rest接口并不一定要接入API网关,对于微服务模块可以直接访问ESB总线提供的接口服务 。但是在这种场景下,每个微服务对于ESB总线来说都是一个独立的接入系统,需要在ESB总线进行管理 。
基于API网关构建微服务集成技术中台
在上面这个场景可以看到,一个传统的应用迁移到微服务架构,就形成一个微服务应用体系,在这个微服务应用里面就存在API网关,服务注册中心,配置中心等微服务治理管控组件 。那么当多个传统遗留系统都逐步转移到微服务的时候,如果同时存在多个各自为政的API网关,配置中心,注册中心等显然是不合适的,这个也不方面后续进行微服务架构治理 。
在这种场景下,我们希望是各个微服务模块尽量存粹,而将微服务治理能力平台化,即将网关,注册中心,配置中心,限流熔断能能力全部整合到技术中台中统一提供,而不是各个微服务体系单独一套 。在这种整合后整个架构更加清晰,如下:
基于这个思路,遗留系统逐步迁移和消亡,那么ESB总线也准备消亡被API网关或微服务治理平台代替 。在整个过程中,我们可以逐步提升API网关的协议转换适配能力,以加快对ESB总线的替代操作 。
对API网关接口适配能力提升最后谈下API网关如何提升接口适配能力 。
API网关提供的接口适配,虽然不会像ESB服务总线那样提供各种复杂的适配器,但是一些经常会使用到的适配能力还是需要提供,以方便实现API接口的快速开发和接入能力 。
最常见的-Http Rest API接口服务的代理接入能力
对于Http Rest API接口服务接入是API网关提供最常见的接口服务接入和适配能力,这里面一种是存代理方式接入或透传,一种是在接入过程中还需要进行适度的数据裁剪和数据丰富 。不论是哪种接入,都可能存在在接入过程中增加API网关标准管控所需要的类似SysID,Token等信息 。
DB数据库的适配接入
即当前一些API网关会提供的,可以将DB数据库表快速的发布为Rest接口服务,常见的包括了数据库表对象的CRUD主流操作 。同时我们看到,完全可以实现一个通用的Http Rest接口服务,对所有的数据库表实现类似的操作能力,但是本身也存在安全管控的风险 。
第二种是提供一个类似Sql模糊查询的关联查询接口服务接入能力,即模糊动态查询条件,对于查询结果可能是后台多个表的关联查询,对于具体的查询Sql由用户自己定义 。

猜你喜欢