信创环境下基于SpringCloudGateway网关路由插件编排和执行系统技术方案

技术编号:37120847 阅读:17 留言:0更新日期:2023-04-01 05:16
本发明专利技术涉及一种信创环境下基于Spring Cloud Gateway网关路由上插件编排和执行的系统,其中,所述的系统包括:插件定义模块,用于根据网关插件开发使用规范在管理运维平台上进行标准插件的定义和开发;路由定义模块,用于根据路由定义为管理运维平台定义不同类型的API请求建立路由规则,并将API请求按照设定的规则绑定到特定路由上;插件编排模块,与所述的路由定义模块相连接,用于在路由上进行插件的选择,并从插件库中选择需要执行的插件以及多个插件之间执行的顺序;以及插件运行模块,用于根据路由上插件的编排定义,按照顺序执行每个插件的逻辑。采用了本发明专利技术的该信创环境下基于Spring Cloud Gateway网关路由上插件编排和执行的系统,解决了用户基于Spring cloud gateway网关的图形化路由配置方式。gateway网关的图形化路由配置方式。gateway网关的图形化路由配置方式。

【技术实现步骤摘要】
信创环境下基于Spring Cloud Gateway网关路由插件编排和执行系统


[0001]本专利技术涉及计算机软件
,尤其涉及API网关
,具体是指一种信创环境下基于Spring Cloud Gateway网关路由上插件编排和执行的系统。

技术介绍

[0002]随着企业数字化转型,很多企业的应用系统技术架构由传统的单体应用转变到微服务架构,在微服务下,应用之间的调用都是通过API进行,系统间的集成也由传统的ESB的方式转到API网关的方式。
[0003]API网关是企业在构建基于云原生应用、微服务架构系统下必备的基础软件,目前市场上主流的微服务网关有Kong、Zuul、Spring Cloud Gateway等等,作为企业API接入接出的关键枢纽,API网关承担了很多像统一身份认证、访问日志、流量控制、负载均衡、请求防重、协议转换、灰度、数据缓存、数据加密、数据脱敏等通用功能的实现,这些功能通常都以网关插件的方式提供,但是目前API网关提供的插件无法提供细粒度的控制,比如无法配置某个特定API返回的数据进行脱敏或者加密,要实现这个功能需要专业的开发人员进行扩展开发支持,同样对于不同API,有的需要进行流量控制,有的需要记录访问日志信息,有的需要进行协议转换,有的需要指定插件的执行顺序,等等,目前网关无法提供插件的选择以及执行顺序的控制,很多特定使用场景用户无法灵活配置,需要开发人员进行扩展开发,增加了复杂度。
[0004]目前Spring Cloud Gateway网关没有插件的概念,主要是通过过滤器来实现流量控制、身份认证等功能,组件提供全局过滤器和网关过滤器基类,由开发人员基于过滤器基类来扩展开发、程序打包、介质部署来完成,对于所有进入网关的请求都需要进行的操作,比如访问记录、请求防重,通过定义全局过滤器来实现,对于指定在特定路由上进行的操作,比如流量控制、灰度等,通过定义网关过滤器来实现,再通过配置文件配置的方式在路由上配置相关的路由过滤器。对于API细粒度的控制通过在路由上配置断言,选择符合条件的API访问请求。
[0005]请参阅图1所示,其为Spring Cloud Gateway的请求处理过程,主要是过滤器的执行机制以及断言对于路由的选择过程:
[0006]spring.cloud.gateway.routes[0].uri=lb:http://servicedemo

auto
[0007]spring.cloud.gateway.routes[0].predicates[0]=Path=/**
[0008]spring.cloud.gateway.routes[0].filters[0].name=RedirectTo
[0009]spring.cloud.gateway.routes[0].filters[0].args.status=306
[0010]spring.cloud.gateway.routes[0].filters[0].args.url=https://www.baidu.com/
[0011]以上是Spring Cloud Gateway的配置方式,提供了断言的配置、过滤器的配置以及最终的代理地址。
[0012]通过以上Spring cloud gateway的原理可以知道,目前Spring Cloud Gateway网关在企业应用中存在很多方面的不足:比如通过配置文件的方式配置,需要配置人员对语法格式、每个配置项的含义要理解,稍有偏差会导致网关无法启动,另外通过配置方式每次增加路由配置后,需要重新启动网关才能生效;通过过滤器的方式进行扩展开发,无法进行功能的热插拔,也无法让运维人员知道网关中提供了哪些扩展能力,在进行路由配置时需要依赖开发人员或者详细的操作说明;无法在网关运行过程中根据业务场景动态调整配置限流、脱敏等措施,比如某个API需要在高峰时间段10点至20点对特定对象的调用进行限流,或者需要根据调用方对API返回信息中的敏感字段进行脱敏;无法对某个路由上配置的过滤器执行顺序进行动态调整,运维管理人员没法直观知道请求进到网关后的执行逻辑,在路由上配置了身份认证、流量控制等过滤器,到底是先执行了身份认证还是执行了流量控制。

技术实现思路

[0013]本专利技术的目的是克服了上述现有技术的缺点,提供了一种支持路由动态配置的信创环境下基于Spring Cloud Gateway网关路由上插件编排和执行的系统。
[0014]为了实现上述目的,本专利技术的信创环境下基于Spring Cloud Gateway网关路由上插件编排和执行的系统如下:
[0015]该信创环境下基于Spring Cloud Gateway网关路由上插件编排和执行的系统,其主要特点是,所述的系统包括:
[0016]插件定义模块,用于根据网关插件开发使用规范在管理运维平台上进行标准插件的定义和开发;
[0017]路由定义模块,用于根据路由定义为管理运维平台定义不同类型的API请求建立路由规则,并将API请求按照设定的规则绑定到特定路由上;
[0018]插件编排模块,与所述的路由定义模块相连接,用于在路由上进行插件的选择,并从插件库中选择需要执行的插件以及多个插件之间执行的顺序;以及
[0019]插件运行模块,用于根据路由上插件的编排定义,按照顺序执行每个插件的逻辑。
[0020]较佳地,所述的插件定义模块具体为:
[0021]设置有数据持久化组件,所述的数据持久化组件与所述的管理运维平台的插件管理模块相连接,并通过所述的插件管理模块保存生成的数据,进行插件定义以及资源包的绑定;
[0022]元数据管理单元,与所述的管理运维平台的前端表单渲染模块相连接,并通过所述的前端表单渲染模块获取插件元数据。
[0023]较佳地,所述的路由定义模块具体为:
[0024]设置有路由管理单元,所述的路由管理单元用于配置路由相关信息,包括断言、代理地址、插件,并保存成Json描述文件,再将相应的描述文件通过持久化组件保存到关系数据库表中,并同步保存到Redis中;网关引擎通过订阅Redis消息动态获取路由信息,并将此路由对象加载到内存中,从而实现动态路由的能力。
[0025]较佳地,所述的插件编排模块具体为:
[0026]所述的插件编排模块与所述的路由管理单元相连接,用于在特定路由上进行插件
的编排处理,并通过图形化的方式从所有启用的插件中选择需要在路由上执行的插件,调整插件的执行顺序,读取插件的运行元数据信息,通过表单渲染界面将元数据渲染成表单,配置运行元数据的值,保存插件编排的描述并将其绑定到路由上。
[0027]较佳地,所述的插件编排模块具体进行以下处理:
[0028](1)进行插件选择;
[0029](2)判断是否进行自定义页面处理,如果是,则直接读取Vue页面;否则,直接读取插件元数据;
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种信创环境下基于Spring Cloud Gateway网关路由上插件编排和执行的系统,其特征在于,所述的系统包括:插件定义模块,用于根据网关插件开发使用规范在管理运维平台上进行标准插件的定义和开发;路由定义模块,用于根据路由定义为管理运维平台定义不同类型的API请求建立路由规则,并将API请求按照设定的规则绑定到特定路由上;插件编排模块,与所述的路由定义模块相连接,用于在路由上进行插件的选择,并从插件库中选择需要执行的插件以及多个插件之间执行的顺序;以及插件运行模块,用于根据路由上插件的编排定义,按照顺序执行每个插件的逻辑。2.根据权利要求1所述的信创环境下基于Spring Cloud Gateway网关路由上插件编排和执行的系统,其特征在于,所述的插件定义模块具体为:设置有数据持久化组件,所述的数据持久化组件与所述的管理运维平台的插件管理模块相连接,并通过所述的插件管理模块保存生成的数据,进行插件定义以及资源包的绑定;元数据管理单元,与所述的管理运维平台的前端表单渲染模块相连接,并通过所述的前端表单渲染模块获取插件元数据。3.根据权利要求1所述的信创环境下基于Spring Cloud Gateway网关路由上插件编排和执行的系统,其特征在于,所述的路由定义模块具体为:设置有路由管理单元,所述的路由管理单元用于配置路由相关信息,包括断言、代理地址、插件,并保存成Json描述文件,再将相应的描述文件通过持久化组件保存到关系数据库表中,并同步保存到Redis中;网关引擎通过订阅Redis消息动态获取路由信息,并将此路由对象加载到内存中,从而实现动态路由的能力。4.根据权利要求3所述的信创环境下基于Spring Clo...

【专利技术属性】
技术研发人员:倪坚刘相高阳
申请(专利权)人:普元信息技术股份有限公司
类型:发明
国别省市:

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

1