一种基于微服务网关的统一服务调度方法、装置、介质及设备制造方法及图纸

技术编号:38320075 阅读:19 留言:0更新日期:2023-07-29 09:02
本发明专利技术公开了微服务网关技术领域的一种基于微服务网关的统一服务调度方法、装置、介质及设备,包括部署服务网关到各中台租户下;通过服务网关从网关配置中心拉取相应的服务配置,通过管控工具获取服务网关的全量初始化数据,将服务网关连接相应中台租户内的注册中心,以实现服务自动注册和路由构建;当路由发生变更时,通过管控工具向消息组件发送变更通知,服务网关接收变更通知并更新内存路由。本发明专利技术解决了现有技术中基于微服务网关的系统无法实现故障隔离且无法自动实现服务注册的技术问题,通过设置多级网关组件,实现分级路由与多租户隔离,确保各中台流量隔离,避免单节点故障,实现服务自动注册和路由构建,有效统一各中台服务调用管理。统一各中台服务调用管理。统一各中台服务调用管理。

【技术实现步骤摘要】
一种基于微服务网关的统一服务调度方法、装置、介质及设备


[0001]本专利技术涉及一种基于微服务网关的统一服务调度方法、装置、介质及设备,属于微服务网关


技术介绍

[0002]随着我国企业全面推进数字化转型,国网公司正大力推进企业中台战略,建设业务中台、数据中台、技术中台,覆盖公司电网生产、财务管理、营销服务、项目管理等业务,数据汇总、数据计算等数据分析需求及人工智能、GIS、视频等
,构建起“大中台、小前台”的数字化应用模式,为公司快速灵活响应新业务需求、提供新兴服务打好了坚实基础。在企业中台之上,建设营销2.0、PMS3.0、网上国网等业务应用,快速支撑面向新型电力系统的数字化应用需求。然而在推进中台化战略,充分发挥中台价值、服务前台业务方面,仍存在一些问题,影响推广使用:
[0003]由于建设时序、使用产品的不同,中台在微服务网关技术路线上存在一定的差异,大部分新建中台基于SpringCloud构建微服务体系,部分使用原生云厂家的微服务网关产品,如CSB、APIGateway、Romma等,这些技术上的差异虽然在前端业务应用使用时不会有太多影响,但对业务服务融合、统一服务调度方面造成了一定的困难。
[0004]大多数中台在认证鉴权方面采用主流OAuth2.0协议完成客户端与服务之间的认证和授权,采用Appid、AppSecret等参与传递客户端标识和秘钥信息,在路由方面使用服务路径URL进行服务的路由。但也有部分中台由于建设时序较早,考虑兼容传统业务服务采用webservice技术等原因,自行设计维护路由和鉴权信息实现相关功能。但这些问题给后续应用开发者使用各中台服务时产生了比较大困扰,造成了一定的门槛,往往使用不同的中台服务就要实现不同的鉴权逻辑,传入不同的参数。
[0005]微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。微服务(Microservice)这个概念是2012年出现的,作为加快Web和移动应用程序开发进程的一种方法,2014年开始受到各方的关注,而2015年,可以说是微服务的元年。
[0006]他与传统的web开发模式单体式开发主要区别在于:
[0007]单体架构模式将所有的功能打包在一个WAR包里,基本没有外部依赖(除了容器),部署在一个JEE容器(Tomcat,JBoss,WebLogic)里,包含了DO/DAO,Service,UI等所有逻辑。其优点在于开发简单,集中式管理,基本不会重复开发,功能都在本地,没有分布式的管理和调用消耗。但也存在小路低、维护难、不灵活、扩展性差等问题。而微服务架构将单体式服务根据业务解耦等原则将一个单体应用拆分成较独立的微服务共同组成一个业务应用,实现敏捷开发和部署。
[0008]不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题:客户
端会多次请求不同的微服务,增加了客户端的复杂性;存在跨域请求,在一定场景下处理相对复杂;认证复杂,每个服务都需要独立认证;难以重构,随着项目的迭代,可能需要重新划分微服务。例如,可能将多个服务合并成一个或者将一个服务拆分成多个。如果客户端直接与微服务通信,那么重构将会很难实施。某些微服务可能使用了防火墙或浏览器不友好的协议,直接访问会有一定的困难。
[0009]网关是介于客户端和服务器端之间的中间层,所有的外部请求都会先经过网关这一层。也就是说,API的实现方面更多的考虑业务逻辑,而安全、性能、监控可以交由网关来做,这样既提高业务灵活性又不缺安全性。具有安全、易于监控、易于认证和易于统一授权的优点。只有网关系统对外进行暴露,微服务可以隐藏在内网,通过防火墙保护;可以在网关收集监控数据并将其推送到外部系统进行分析;可以在网关上进行认证,然后再将请求转发到后端的微服务,而无须在每个微服务中进行认证;减少了客户端与各个微服务之间的交互次数。
[0010]微服务网关就是一个系统,通过暴露该微服务网关系统,方便我们进行相关的鉴权、安全控制和日志统一处理,易于监控的相关功能。
[0011]实现微服务网关的技术有很多,典型的有Nginx(tengine x),它是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器。spring

cloud

gateway是spring出品的基于spring的网关项目,集成断路器,路径重写,性能比Zuul好。
[0012]申请号为202210432495.X的专利—一种基于服务网关的业务融合方法中将业务系统作为服务注册到服务网关中,在业务系统中采用Restful API技术,将功能发布为接口,并在网关中关联服务和API接口;在网关中配置服务和接口;服务发布多接口发布方式,将服务所包含的API接口与用户连接,向用户提供数据服务;实现数据互联互通,为上级和下级单位提供数据,同时支撑多部门数据共享。但此专利技术将各业务系统的服务都注册到统一的网关上进行业务服务融合,所有系统的服务请求流量都通过该业务融合网关进行路由转发,易造成单节点故障,可靠性存在风险。同时,当某个系统的服务压力较大,也容易对其他系统的服务请求造成影响,无法实现故障隔离,局部影响到全局。并且,在云平台跨租户环境下,服务无法通过原业务系统注册中心将服务注册至统一的业务融合网关下,需要通过手动注册或其他方式将服务注册发布至融合网关下,不适应目前云原生微服务架构下的服务自动注册。

技术实现思路

[0013]本专利技术的目的是提供一种基于微服务网关的统一服务调度方法、装置、介质及设备,针对目前现有技术中基于微服务网关的系统无法实现故障隔离且无法自动实现服务注册的问题。
[0014]为达到上述目的/为解决上述技术问题,本专利技术是采用下述技术方案实现的。
[0015]第一方面,本专利技术提供一种基于微服务网关的统一服务调度方法,包括:
[0016]部署服务网关到各中台租户下,并配置相应的中台租户ID;所述服务网关连接网关配置中心、管控工具和消息组件;
[0017]通过所述服务网关从网关配置中心拉取相应的服务配置,所述服务网关根据消息
组件的默认配置开启对消息组件主体的监听;
[0018]通过所述管控工具获取服务网关的全量初始化数据和相应的中台租户ID,将服务网关连接相应中台租户内的注册中心,以实现服务自动注册和路由构建;
[0019]当路由发生变更时,通过所述管控工具向消息组件发送变更通知,服务网关接收变更通知并更新内存路由。
[0020]进一步的,还包括,通过所述消息组件收集服务网关运行日志,由管控工具订阅处理。
[0021]进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于微服务网关的统一服务调度方法,其特征在于,包括:部署服务网关到各中台租户下,并配置相应的中台租户ID;所述服务网关连接网关配置中心、管控工具和消息组件;通过所述服务网关从网关配置中心拉取相应的服务配置,所述服务网关根据消息组件的默认配置开启对消息组件主体的监听;通过所述管控工具获取服务网关的全量初始化数据和相应的中台租户ID,将服务网关连接相应中台租户内的注册中心,以实现服务自动注册和路由构建;当路由发生变更时,通过所述管控工具向消息组件发送变更通知,服务网关接收变更通知并更新内存路由。2.根据权利要求1所述的基于微服务网关的统一服务调度方法,其特征在于,还包括,通过所述消息组件收集服务网关运行日志,由管控工具订阅处理。3.根据权利要求1所述的基于微服务网关的统一服务调度方法,其特征在于,还包括,在部署服务网关到各中台租户下之前,将流量网关作为服务请求的流量入口;所述流量网关采用轻量级的负载组件。4.根据权利要求3所述的基于微服务网关的统一服务调度方法,其特征在于,还包括,在部署服务网关到各中台租户下时,将其他组件部署到公共VPC下,以实现服务的统一入口与调度管理。5.根据权利要求4所述的基于微服务网关的统一服务调度方法,其特征在于,还包括,在部署服务网关到各中台租户下时,设置级联网关与服务网关和流量网关级联,所述级联网关用于平行网络间的服务连接、基础能力实现认证和鉴权,并与下一网关进行互信认证。6.根据权利要求1所述的基于微服务网关的统一服务调度方法,其特征在于,所述服务网关根据消息组件的默认配置开启对消息组...

【专利技术属性】
技术研发人员:李重阳梁明仇东配
申请(专利权)人:国电南瑞科技股份有限公司
类型:发明
国别省市:

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

1