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

技术编号:29047459 阅读:15 留言:0更新日期:2021-06-26 06:05
本发明专利技术公开了基于网关的微服务API编排方法及系统,属于微服务技术领域,要解决的技术问题为如何减少编排API的工作量、降低维护难度。系统包括:前端编排API创建模块,包括管理界面和编辑器,编辑器用于对微服务API进行调用过程编排,并创建编排API,管理界面用于对编排后的API进行编辑配置;后端编排API执行引擎,包括前置过滤器和运行时执行引擎,前置过滤器用于识别编排API请求并将所述编排API请求转发至运行时执行引擎,运行时执行引擎用于对编排API进行流量控制和熔断降级检查,用于对调用的微服务API进行可用性检查,并通过RestTemplate实现对微服务API的访问。RestTemplate实现对微服务API的访问。RestTemplate实现对微服务API的访问。

【技术实现步骤摘要】
基于网关的微服务API编排方法及系统


[0001]本专利技术涉及微服务
,具体地说是基于网关的微服务API编排方法及系统。

技术介绍

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

技术实现思路

[0004]本专利技术的技术任务是针对以上不足,提供基于网关的微服务API编排方法及系统,来解决如何减少编排API的工作量、降低维护难度的问题。
[0005]第一方面,本专利技术提供一种基于网关的微服务API编排系统,所述微服务API为微服务对外提供的API,通过对微服务API编排后由多个微服务API以及微服务API之间关系组成的集合作为编排API,所述系统包括:
[0006]前端编排API创建模块,所述前端编排API创建模块包括管理界面和编辑器,所述编辑器为可视化编辑器,用于对微服务API进行调用过程编排,并创建编排API,所述管理界面用于对编排后的API进行编辑配置;
[0007]后端编排API执行引擎,所述后端编排API执行引擎包括前置过滤器和运行时执行引擎,所述前置过滤器用于识别编排API请求并将所述编排API请求转发至运行时执行引擎,所述运行时执行引擎用于对编排API进行流量控制和熔断降级检查,用于对调用的微服务API进行可用性检查,并用于根据编排API包含的微服务API调用关系,通过RestTemplate实现对微服务API的访问。
[0008]作为优选,所述编辑引擎用于通过选择、拖拽和连接的方式对可用微服务API进行调用过程编排,创建编排API,编排后的API自动注册路由至网关中。
[0009]作为优选,所述编辑引擎包括:
[0010]组件选择面板,所述组件选择面板用于提供开始节点、微服务API节点、返回节点;
[0011]编排节点面板,所述编排节点面板用于提供连接,将开始节点、微服务API节点和返回节点按照自定顺序连接,所述组件选择面板通过拖拽的方式放置于编排节点面板;
[0012]节点编辑面板,所述节点编辑面板用于对微服务API节点进行微服务API选择,用于编辑入参和出参,并用于对开始节点和返回节点进行入参和出参的编辑。
[0013]作为优选,所述前置过滤器用于作为SpringCloud Gateway的过滤器接口,对所有编排API请求进行前置过滤处理,调用SpringCloud Gateway相关接口获取编排API请求命
中的路由,并调用流量控制和熔断降级模块判断对应的路由是否触发流量控制和熔断降级,若未触发则判断所述路由的指向是否为编排API,若为编排API,则调用运行时执行引擎进行处理。
[0014]作为优选,所述运行时执行引擎包括:
[0015]编排API解析模块,所述编排API解析模块用于解析编排API所含的微服务API以及微服务API之间的规则,并判断所调用微服务API是否处在可用状态,并按照预定结构存入内存中;
[0016]微服务API执行模块,所述微服务API执行模块用于按照编排API解析模块提供的数据,组装微服务API调用所需的请求参数,并按照指定顺序进行微服务API调用,微服务API调用结果存入内存中以备返回数据处理模块取用;
[0017]返回数据处理模块,所述返回数据处理模块用于按照编排API解析模块提供的规则对微服务API返回数据进行处理,处理后的数据作为其他微服务API的入参或编排API最终出参的一部分。
[0018]第二方面,本专利技术提供一种基于网关的微服务API编排方法,通过第一方面任一项所述的基于网关的微服务API编排系统进行微服务API编排,所述微服务API为微服务对外提供的API,通过对微服务API编排后由多个微服务API以及微服务API之间关系组成的集合作为编排API,所述方法包括如下步骤:
[0019]通过前端编排API创建模块中编辑器对微服务API进行调用过程编排,并创建编排API;
[0020]通过前端编排API创建模块中管理界面用于对编排后的API进行编辑配置;
[0021]通过后端编排API执行引擎中前置过滤器识别编排API请求,并将所述编排API请求转发至运行时执行引擎;
[0022]通过所述运行时执行引擎对编排API进行流量控制和熔断降级检查,对调用的微服务API进行可用性检查,并根据编排API包含的微服务API调用关系,通过RestTemplate实现对微服务API的访问。
[0023]作为优选,所述编辑引擎通过选择、拖拽和连接的方式对可用微服务API进行调用过程编排,创建编排API,编排后的API自动注册路由至网关中。
[0024]作为优选,通过编辑器对微服务API进行调用过程编排,并创建编排API,包括:
[0025]通过编辑器中组件选择面板提供开始节点、微服务API节点、返回节点;
[0026]通过编辑引擎中编排节点面板提供连接,将开始节点、微服务API节点和返回节点按照自定顺序连接;
[0027]通过编辑器中节点编辑面板对微服务API节点进行微服务API选择,编辑入参和出参,并对开始节点和返回节点进行入参和出参的编辑。
[0028]作为优选,通过后端编排API执行引擎中前置过滤器识别编排API请求,并将所述编排API请求转发至运行时执行引擎,包括:
[0029]前置过滤器作为SpringCloud Gateway的过滤器接口,对所有编排API请求进行前置过滤处理,调用SpringCloud Gateway相关接口获取编排API请求命中的路由,并调用流量控制和熔断降级模块判断对应的路由是否触发流量控制和熔断降级,若未触发则判断所述路由的指向是否为编排API,若为编排API,则调用运行时执行引擎进行处理。
[0030]作为优选,通过运行时执行引擎对编排API进行流量控制和熔断降级检查,对调用的微服务API进行可用性检查,并根据编排API包含的微服务API调用关系,通过RestTemplate实现对微服务API的访问,包括如下步骤:
[0031]通过运行时执行引擎中编排API解析模块解析编排API所含的微服务API以及微服务API之间的规则,并判断所调用微服务API是否处在可用状态,并按照预定结构存入内存中;
[0032]运行时执行引擎中微服务API执行模块按照编排API解析模块提供的数据,组装微服务API调用所需的请求参数,并按照指定顺序进行微服务API调用,微服务API调用结果存入内存中以备返回数据处理模块取用;
[0033]运行时执行引擎中返回数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于网关的微服务API编排系统,其特征在于所述微服务API为微服务对外提供的API,通过对微服务API编排后由多个微服务API以及微服务API之间关系组成的集合作为编排API,所述系统包括:前端编排API创建模块,所述前端编排API创建模块包括管理界面和编辑器,所述编辑器为可视化编辑器,用于对微服务API进行调用过程编排,并创建编排API,所述管理界面用于对编排后的API进行编辑配置;后端编排API执行引擎,所述后端编排API执行引擎包括前置过滤器和运行时执行引擎,所述前置过滤器用于识别编排API请求并将所述编排API请求转发至运行时执行引擎,所述运行时执行引擎用于对编排API进行流量控制和熔断降级检查,用于对调用的微服务API进行可用性检查,并用于根据编排API包含的微服务API调用关系,通过RestTemplate实现对微服务API的访问。2.根据权利要求1所述的基于网关的微服务API编排系统,其特征在于所述编辑引擎用于通过选择、拖拽和连接的方式对可用微服务API进行调用过程编排,创建编排API,编排后的API自动注册路由至网关中。3.根据权利要求1或2所述的基于网关的微服务API编排系统,其特征在于所述编辑引擎包括:组件选择面板,所述组件选择面板用于提供开始节点、微服务API节点、返回节点;编排节点面板,所述编排节点面板用于提供连接,将开始节点、微服务API节点和返回节点按照自定顺序连接,所述组件选择面板通过拖拽的方式放置于编排节点面板;节点编辑面板,所述节点编辑面板用于对微服务API节点进行微服务API选择,用于编辑入参和出参,并用于对开始节点和返回节点进行入参和出参的编辑。4.根据权利要求1或2所述的基于网关的微服务API编排系统,其特征在于所述前置过滤器用于作为SpringCloud Gateway的过滤器接口,对所有编排API请求进行前置过滤处理,调用SpringCloud Gateway相关接口获取编排API请求命中的路由,并调用流量控制和熔断降级模块判断对应的路由是否触发流量控制和熔断降级,若未触发则判断所述路由的指向是否为编排API,若为编排API,则调用运行时执行引擎进行处理。5.根据权利要求1或2所述的基于网关的微服务API编排系统,其特征在于所述运行时执行引擎包括:编排API解析模块,所述编排API解析模块用于解析编排API所含的微服务API以及微服务API之间的规则,并判断所调用微服务API是否处在可用状态,并按照预定结构存入内存中;微服务API执行模块,所述微服务API执行模块用于按照编排API解析模块提供的数据,组装微服务API调用所需的请求参数,并按照指定顺序进行微服务API调用,微服务API调用结果存入内存中以备返回数据处理模块取用;返回数据处理模块,所述返回数据处理模块用于按照编排API解析模块提供的规则对微服务API返回数据进行处理,处理后的数据作为其他微服务API的入参或编排API最终出参的一部分。6.基于网关的微服务API编排方法,其特征在于通过如权利要求1

5任一项所述的基于网关的微服务...

【专利技术属性】
技术研发人员:王天一杨旭肖传楠玄德孙思清
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1