掌桥专利:专业的专利平台
掌桥专利
首页

基于网关的微服务API编排方法及系统

文献发布时间:2023-06-19 11:35:49


基于网关的微服务API编排方法及系统

技术领域

本发明涉及微服务技术领域,具体地说是基于网关的微服务API编排方法及系统。

背景技术

随着微服务架构在企业应用越越来越广泛,许多应用被拆分成单独的服务来减少模块间的耦合,以此解决应用复杂性问题。但随着新需求的不断增加,微服务架构中的服务数量也不断增加,为了实现某一个需求,许多微服务API需要组合调用,通过编码或者写入文件的方式依次调用微服务API存在工作量大、难以维护的缺点,不利于功能及时上线,也不利于功能扩展。

基于上述分析,如何减少编排API的工作量、降低维护难度,是需要解决的技术问题。

发明内容

本发明的技术任务是针对以上不足,提供基于网关的微服务API编排方法及系统,来解决如何减少编排API的工作量、降低维护难度的问题。

第一方面,本发明提供一种基于网关的微服务API编排系统,所述微服务API为微服务对外提供的API,通过对微服务API编排后由多个微服务API以及微服务API之间关系组成的集合作为编排API,所述系统包括:

前端编排API创建模块,所述前端编排API创建模块包括管理界面和编辑器,所述编辑器为可视化编辑器,用于对微服务API进行调用过程编排,并创建编排API,所述管理界面用于对编排后的API进行编辑配置;

后端编排API执行引擎,所述后端编排API执行引擎包括前置过滤器和运行时执行引擎,所述前置过滤器用于识别编排API请求并将所述编排API请求转发至运行时执行引擎,所述运行时执行引擎用于对编排API进行流量控制和熔断降级检查,用于对调用的微服务API进行可用性检查,并用于根据编排API包含的微服务API调用关系,通过RestTemplate实现对微服务API的访问。

作为优选,所述编辑引擎用于通过选择、拖拽和连接的方式对可用微服务API进行调用过程编排,创建编排API,编排后的API自动注册路由至网关中。

作为优选,所述编辑引擎包括:

组件选择面板,所述组件选择面板用于提供开始节点、微服务API节点、返回节点;

编排节点面板,所述编排节点面板用于提供连接,将开始节点、微服务API节点和返回节点按照自定顺序连接,所述组件选择面板通过拖拽的方式放置于编排节点面板;

节点编辑面板,所述节点编辑面板用于对微服务API节点进行微服务API选择,用于编辑入参和出参,并用于对开始节点和返回节点进行入参和出参的编辑。

作为优选,所述前置过滤器用于作为SpringCloud Gateway的过滤器接口,对所有编排API请求进行前置过滤处理,调用SpringCloud Gateway相关接口获取编排API请求命中的路由,并调用流量控制和熔断降级模块判断对应的路由是否触发流量控制和熔断降级,若未触发则判断所述路由的指向是否为编排API,若为编排API,则调用运行时执行引擎进行处理。

作为优选,所述运行时执行引擎包括:

编排API解析模块,所述编排API解析模块用于解析编排API所含的微服务API以及微服务API之间的规则,并判断所调用微服务API是否处在可用状态,并按照预定结构存入内存中;

微服务API执行模块,所述微服务API执行模块用于按照编排API解析模块提供的数据,组装微服务API调用所需的请求参数,并按照指定顺序进行微服务API调用,微服务API调用结果存入内存中以备返回数据处理模块取用;

返回数据处理模块,所述返回数据处理模块用于按照编排API解析模块提供的规则对微服务API返回数据进行处理,处理后的数据作为其他微服务API的入参或编排API最终出参的一部分。

第二方面,本发明提供一种基于网关的微服务API编排方法,通过第一方面任一项所述的基于网关的微服务API编排系统进行微服务API编排,所述微服务API为微服务对外提供的API,通过对微服务API编排后由多个微服务API以及微服务API之间关系组成的集合作为编排API,所述方法包括如下步骤:

通过前端编排API创建模块中编辑器对微服务API进行调用过程编排,并创建编排API;

通过前端编排API创建模块中管理界面用于对编排后的API进行编辑配置;

通过后端编排API执行引擎中前置过滤器识别编排API请求,并将所述编排API请求转发至运行时执行引擎;

通过所述运行时执行引擎对编排API进行流量控制和熔断降级检查,对调用的微服务API进行可用性检查,并根据编排API包含的微服务API调用关系,通过RestTemplate实现对微服务API的访问。

作为优选,所述编辑引擎通过选择、拖拽和连接的方式对可用微服务API进行调用过程编排,创建编排API,编排后的API自动注册路由至网关中。

作为优选,通过编辑器对微服务API进行调用过程编排,并创建编排API,包括:

通过编辑器中组件选择面板提供开始节点、微服务API节点、返回节点;

通过编辑引擎中编排节点面板提供连接,将开始节点、微服务API节点和返回节点按照自定顺序连接;

通过编辑器中节点编辑面板对微服务API节点进行微服务API选择,编辑入参和出参,并对开始节点和返回节点进行入参和出参的编辑。

作为优选,通过后端编排API执行引擎中前置过滤器识别编排API请求,并将所述编排API请求转发至运行时执行引擎,包括:

前置过滤器作为SpringCloud Gateway的过滤器接口,对所有编排API请求进行前置过滤处理,调用SpringCloud Gateway相关接口获取编排API请求命中的路由,并调用流量控制和熔断降级模块判断对应的路由是否触发流量控制和熔断降级,若未触发则判断所述路由的指向是否为编排API,若为编排API,则调用运行时执行引擎进行处理。

作为优选,通过运行时执行引擎对编排API进行流量控制和熔断降级检查,对调用的微服务API进行可用性检查,并根据编排API包含的微服务API调用关系,通过RestTemplate实现对微服务API的访问,包括如下步骤:

通过运行时执行引擎中编排API解析模块解析编排API所含的微服务API以及微服务API之间的规则,并判断所调用微服务API是否处在可用状态,并按照预定结构存入内存中;

运行时执行引擎中微服务API执行模块按照编排API解析模块提供的数据,组装微服务API调用所需的请求参数,并按照指定顺序进行微服务API调用,微服务API调用结果存入内存中以备返回数据处理模块取用;

运行时执行引擎中返回数据处理模块按照编排API解析模块提供的规则对微服务API返回数据进行处理,处理后的数据作为其他微服务API的入参或编排API最终出参的一部分。

本发明的基于网关的微服务API编排方法及系统具有以下优点:

1、通过可视化的编辑器可对微服务API进行调用过程编排,并创建编排API,通过管理界面可对编排后的API进行编辑配置,简化了创建编排API过程,解决了维护难的问题;

2、前置过滤器识别编排API请求并将编排API请求转发至运行时执行引擎,运行时执行引擎对编排API进行流量控制和熔断降级检查,对调用的微服务API进行可用性检查,并根据编排API包含的微服务API调用关系,通过RestTemplate实现对微服务API的访问,增强了系统的可用性,减少了事务回滚的可能性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

下面结合附图对本发明进一步说明。

图1为实施例1基于网关的微服务API编排系统的结构框图;

图2为实施例2基于网关的微服务API编排方法中微服务API访问流程框图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。

本发明实施例提供基于网关的微服务API编排方法及系统,用于解决如何减少编排API的工作量、降低维护难度的技术问题。

实施例1:

本发明的基于网关的微服务API编排系统,微服务API为微服务对外提供的API,通过对微服务API编排后由多个微服务API以及微服务API之间关系组成的集合作为编排API,该系统包括前端编排API创建模块和后端编排API执行引擎,前端编排API创建模块包括管理界面和编辑器,所述编辑器为可视化编辑器,用于对微服务API进行调用过程编排,并创建编排API,所述管理界面用于对编排后的API进行编辑配置;后端编排API执行引擎包括前置过滤器和运行时执行引擎,上述前置过滤器用于识别编排API请求并将所述编排API请求转发至运行时执行引擎,上述运行时执行引擎用于对编排API进行流量控制和熔断降级检查,用于对调用的微服务API进行可用性检查,并用于根据编排API包含的微服务API调用关系,通过RestTemplate实现对微服务API的访问。

其中,可视化编辑器支持通过选择、拖拽、连接的方式对可用微服务API进行调用过程编排,创建编排API,编排后的API将自动注册路由到网关中,以备通过网关对编排API进行调用。本实施例中可视化编辑器主要包括组件选择面板、编排节点面板以及节点编辑面板。组件选择面板提供开始节点、微服务API节点、返回节点,可通过拖拽的方式放置在编排节点面板;编排节点面板提供连接功能,可以将开始节点、微服务API节点、返回节点按照自定顺序连接;节点编辑面板可以对微服务API节点进行微服务API选择以及具体入参出参的编辑,对开始节点和返回节点进行入参、出参的编辑。

通过可视化交互界面生成编排API,并集成服务注册与发现中心以及接口中心,实现API编排过程中可视化地选择微服务API,极大简化了用户操作。

管理界面采用表格的展现形式,每一行为一条编排API记录,针对每一个编排API提供编辑、删除功能,另外页面提供新增以及多条件查询功能。

编排API执行引擎主要是基于SpringCloud Gateway网关进行开发,分为前置过滤器以及运行时执行引擎两部分。当调用编排API时,网关前置过滤器会匹配到该请求的路由,识别为编排API请求并将该请求转发到运行时执行引擎中。运行时执行引擎获取到编排API,会对该编排API进行流量控制和熔断降级检查,并对其调用的微服务API通过服务注册与发现中心进行可用性检查,然后根据编排API包含的微服务API调用关系,通过RestTemplate实现对微服务API的访问,如附图2所示。

前置过滤器主要实现了SpringCloud Gateway的过滤器接口,对所有请求进行前置过滤处理,调用SpringCloud Gateway相关接口获取命中的路由,首先调用流量控制和熔断降级模块判断该路由是否触发流量控制和熔断降级,若未触发则判断该路由的指向是否为编排API,若为编排API,则调用运行时执行引擎进行处理。

运行时执行引擎主要分为编排API解析模块、微服务API执行模块以及返回数据处理模块。编排API解析模块负责解析编排API所含的微服务API以及微服务API之间的规则并判断所调用微服务API是否处在可用状态,之后按照一定结构存入内存中;微服务API执行模块负责按照编排API解析模块提供的数据,组装微服务API调用所需的请求参数,然后按照指定顺序进行微服务API调用,微服务API调用结果存入内存中以备返回数据处理模块取用;返回数据处理模块会按照编排API解析模块提供的规则对微服务API返回数据进行处理,处理后的数据会作为其他微服务API的入参或编排API最终出参的一部分。

本实施例基于网关的微服务API编排系统支持拖拽、选择、连接的方式创建编排API,解决了创建编排API工作量大的问题,并且通过调用服务注册与中心接口,实现了不可用微服务API自动下线,解决了维护难的问题。且该系统支持微服务API可用性检测、流量控制、熔断降级,增强了系统的可用性,减少了事务回滚的可能性。

实施例2:

本发明的基于网关的微服务API编排方法,通过实施例1公开的基于网关的微服务API编排系统进行微服务API编排,微服务API为微服务对外提供的API,通过对微服务API编排后由多个微服务API以及微服务API之间关系组成的集合作为编排API,该方法包括如下步骤:

S100、通过前端编排API创建模块中编辑器对微服务API进行调用过程编排,并创建编排API;

S200、通过前端编排API创建模块中管理界面用于对编排后的API进行编辑配置;

S300、通过后端编排API执行引擎中前置过滤器识别编排API请求,并将所述编排API请求转发至运行时执行引擎;

S400、通过所述运行时执行引擎对编排API进行流量控制和熔断降级检查,对调用的微服务API进行可用性检查,并根据编排API包含的微服务API调用关系,通过RestTemplate实现对微服务API的访问。

其中编辑引擎通过选择、拖拽和连接的方式对可用微服务API进行调用过程编排,创建编排API,编排后的API自动注册路由至网关中。

通过编辑器对微服务API进行调用过程编排,并创建编排API,包括:

(1)通过编辑器中组件选择面板提供开始节点、微服务API节点、返回节点;

(2)通过编辑引擎中编排节点面板提供连接,将开始节点、微服务API节点和返回节点按照自定顺序连接;

(3)通过编辑器中节点编辑面板对微服务API节点进行微服务API选择,编辑入参和出参,并对开始节点和返回节点进行入参和出参的编辑。

通过后端编排API执行引擎中前置过滤器识别编排API请求,并将所述编排API请求转发至运行时执行引擎,包括:前置过滤器作为SpringCloud Gateway的过滤器接口,对所有编排API请求进行前置过滤处理,调用SpringCloud Gateway相关接口获取编排API请求命中的路由,并调用流量控制和熔断降级模块判断对应的路由是否触发流量控制和熔断降级,若未触发则判断所述路由的指向是否为编排API,若为编排API,则调用运行时执行引擎进行处理。

通过运行时执行引擎对编排API进行流量控制和熔断降级检查,对调用的微服务API进行可用性检查,并根据编排API包含的微服务API调用关系,通过RestTemplate实现对微服务API的访问,包括如下步骤:

(1)通过运行时执行引擎中编排API解析模块解析编排API所含的微服务API以及微服务API之间的规则,并判断所调用微服务API是否处在可用状态,并按照预定结构存入内存中;

(2)运行时执行引擎中微服务API执行模块按照编排API解析模块提供的数据,组装微服务API调用所需的请求参数,并按照指定顺序进行微服务API调用,微服务API调用结果存入内存中以备返回数据处理模块取用;

(3)运行时执行引擎中返回数据处理模块按照编排API解析模块提供的规则对微服务API返回数据进行处理,处理后的数据作为其他微服务API的入参或编排API最终出参的一部分。

本发明的基于网关的微服务API编排方法,API编排可视化,简化了编排API创建过程,降低了维护难度,增强了系统可用性。为微服务API编排实现提供参考。;通过可视化交互界面生成编排API,并集成服务注册与发现中心以及接口中心,实现API编排过程中可视化地选择微服务API,极大简化了用户操作;通过编排API的网关自动注册,实现API的统一管理、认证鉴权、流量控制和熔断降级等服务治理功能;通过网关过滤器转发执行编排API,实现自定义微服务API调用流程;通过集成服务注册与发现中心,可以实现编排API运行时对其所含微服务API的自动发现、可用性检查。

上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

相关技术
  • 基于网关的微服务API编排方法及系统
  • 基于微服务的API网关安全管理方法及其系统
技术分类

06120112980899