CN111245916A - 基于微服务网关的服务调用方法、服务编排方法及装置 - Google Patents
基于微服务网关的服务调用方法、服务编排方法及装置 Download PDFInfo
- Publication number
- CN111245916A CN111245916A CN202010014293.4A CN202010014293A CN111245916A CN 111245916 A CN111245916 A CN 111245916A CN 202010014293 A CN202010014293 A CN 202010014293A CN 111245916 A CN111245916 A CN 111245916A
- Authority
- CN
- China
- Prior art keywords
- service
- node
- task
- micro
- gateway
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种基于微服务网关的服务调用方法、服务编排方法及装置,该调用方法至少包括如下步骤:识别接收到的服务请求对应的目标服务请求地址;根据预先建立的服务请求地址与预先配置的服务编排的对应关系,确定目标服务地址是否有对应的目标服务编排;若有,则根据目标服务编排的流程创建执行任务;根据创建的执行任务,按序调用相应的服务节点执行,获得服务请求结果并返还至客户端,该方法基于预先配置的服务编排,通过一个微服务网关接收服务请求、调用服务节点并返还服务请求结果,完善前后端分离框架,将复杂业务逻辑封装在网关服务层,实现多个微服务之间业务逻辑,减小前后端交互的次数并降低了客户端开发的复杂性。
Description
技术领域
本发明涉及计算机数据处理领域,特别涉及一种基于微服务网关的服务调用方法、服务编排方法及装置。
背景技术
现今互联网系统大多采用前后端分离架构,后端服务系统较多,统一由API网关集中管理,前端只需和网关进行交互,网关实现请求路由时的鉴权校验过滤等功能,与后端服务的转发,还有请求转发时的限流、异常重发、熔断机制等高级功能。
目前引入的网关技术是Netflix开源的微服务网关zuul(基于zuul进行重写改造)。不同的微服务有着不同的网络地址,有些时候前端可能要调用多个微服务的接口才能完成一个业务需求,比如一个购物的下单业务可能要调用用户微服务,商品微服务,库存微服务,订单微服务。这个时候前端就需要和网关交互多次,并且这些微服务有先后逻辑关系,前端每调用一个业务接口都需要根据返回结果写各种业务逻辑,来判断是否进行下个接口的调用,增加了前后端交互的次数和客户端开发的复杂性。
发明内容
为解决上述技术问题,本发明提供了一种基于微服务网关的服务调用方法、服务编排方法及装置,其基于一个微服务网关,可以实现多个微服务之间的业务逻辑,将最终结果返回客户端,完善了前后端分离框架,减少了前后端交互的次数并降低了客户端开发的复杂性。
本发明提供的技术方案如下:
第一方面,提供一种基于微服务网关的服务调用方法,所述方法至少包括如下步骤:
根据接收到的客户端发送的服务请求,识别所述服务请求对应的目标服务请求地址;
根据预先建立的服务请求地址与预先配置的服务编排的对应关系,确定所述目标服务地址是否有对应的目标服务编排;
若有,则根据所述目标服务编排的流程创建执行任务;
根据所述创建的执行任务,按序调用相应的服务节点执行,并获得服务请求结果;
将所述服务请求结果返还至客户端。
在一些较佳的实施方式中,所述根据所述创建的执行任务,按序调用相应的服务节点执行,并获得服务请求结果,至少包括如下子步骤:
查询执行任务所需的所有服务节点、服务节点的执行顺序及各服务节点的返回参数;
调用第一服务节点执行相应后端服务并获取第一返回值,记录任务状态;
判断当前任务完成状态以及所述第一返回值与第一节点的返回参数是否匹配;
若任务状态为未完成,且所述第一返回值与第一节点的返回参数匹配时,调用第二服务节点执行相应后端服务并获取第二返回值,记录任务状态;
若所述任务状态为已完成,则将第一返回值作微服务请求结果返还至微服务网关。
在一些较佳的实施方式中,当所述第一返回值与所述与第一节点的返回参数不匹配时,调用异常策略,所述异常策略至少包括重发、跳过或回滚中的一种。
在一些较佳的实施方式中,所述方法还包括:预先配置服务编排,具体包括如下子步骤:
确定执行任一业务所需的服务接口集,并为每一服务接口配置相应的服务节点;
配置服务节点的执行顺序;
将所述微服务网关与各服务节点分别关联,且服务节点按序关联;
配置每一服务节点的相关参数;
生成所述业务的服务请求地址。
在一些较佳的实施方式中,所述配置每一服务节点的相关参数,至少包括如下子步骤:
配置每一服务节点的返回参数;
配置与每一服务节点对应的后端服务接口地址、接口请求协议;
配置每一服务节点中后端服务接口的返还值与返还参数的匹配关系。
在一些较佳的实施方式中,所述预先配置服务编排还包括异常策略配置及监控服务配置:
所述异常策略配置至少包括:异常重发条件设置、重发次数设置、回滚回滚条件设置、回滚地址设置;
所述监控服务配置包括:编排任务日志配置、异常日志配置及统计报表配置。
第二方面,提供一种基于微服务网关的服务编排方法,所述方法至少包括如下步骤:
确定执行任一业务所需的服务接口集,并为每一服务接口配置相应的服务节点;
配置服务节点的执行顺序;
将所述微服务网关与各服务节点分别关联,且服务节点按序关联;
配置每一服务节点的相关参数;
生成所述业务的服务请求地址。
在一些较佳的实施方式中,所述配置每一服务节点的相关参数,至少包括如下子步骤:
配置每一服务节点的返回参数;
配置与每一服务节点对应的后端服务接口地址、接口请求协议;
配置每一服务节点中后端服务接口的返还值与返还参数的匹配关系。
在一些较佳的实施方式中,所述方法还包括异常策略配置及监控服务配置:
所述异常策略配置至少包括:异常重发条件设置、重发次数设置、回滚条件设置、回滚地址设置;
所述监控服务配置包括:编排任务日志配置、异常日志配置及统计报表配置。
第三方面,提供一种基于微服务网关的服务调用装置,所述装置至少包括:
识别模块:用于根据接收到的客户端发送的服务请求,识别所述服务请求对应的目标服务请求地址;
确定模块:用于根据预先建立的服务请求地址与预先配置的服务编排的对应关系,确定所述目标服务地址是否有对应的目标服务编排;
创建模块:用于根据所述目标服务编排的流程创建执行任务;
执行模块:用于根据所述创建的执行任务,按序调用相应的服务节点执行,并获得服务请求结果;
返还模块:用于将所述服务请求结果返还至客户端。
在一些较佳的实施方式中,所述执行模块至少包括:
查询单元:用于查询执行任务所需的所有服务节点、服务节点的执行顺序及各服务节点的返回参数;
第一调用单元:用于调用第一服务节点执行相应后端服务并获取第一返回值,记录任务状态;
第一判断单元:用于判断当前任务完成状态;
第二判断单元:用于判断第一返回值与第一节点的返回参数是否匹配;
第二调用单元:用于当任务状态为未完成,且所述第一返回值与第一节点的返回参数匹配时,调用第二服务节点执行相应后端服务并获取第二返回值;
记录单元:用于记录任务状态;
返还单元:用于当所述任务状态为已完成时,将第一返回值作微服务请求结果返还至微服务网关。
在一些较佳的实施方式中,所述执行模块还包括:
第三调用单元:用于当所述第一返回值与所述与第一节点的返回参数不匹配时,调用异常策略,所述异常策略至少包括重发、跳过或回滚中的一种。
在一些较佳的实施方式中,所述装置还包括服务编排模块,所述服务编排模块至少包括:
服务节点配置单元:确定执行任一业务所需的服务接口集,并为每一服务接口配置相应的服务节点;
服务节点排序单元:用于配置服务节点的执行顺序;
关联单元:用于将所述微服务网关与各服务节点分别关联,且服务节点按序关联;
参数配置单元:用于配置每一服务节点的相关参数;
生成单元:用于生成所述业务的服务请求地址。
在一些较佳的实施方式中,所述参数配置单元至少包括:
第一配置子单元:用于配置每一服务节点的返回参数;
第二配置子单元:用于配置与每一服务节点对应的后端服务接口地址、接口请求协议;
第三配置子单元:用于配置每一服务节点中后端服务接口的返还值与返还参数的匹配关系。
在一些较佳的实施方式中,所述服务编排模块还包括:
异常策略配置单元:用于异常重发条件设置、重发次数设置、回滚条件设置、回滚地址设置;
监控服务配置单元:用于编排任务日志配置、异常日志配置及统计报表配置。
第四方面,提供一种基于微服务网关的服务编排装置,所述装置至少包括:
服务节点配置模块:确定执行任一业务所需的服务接口集,并为每一服务接口配置相应的服务节点;
服务节点排序模块:用于配置服务节点的执行顺序;
关联模块:用于将所述微服务网关与各服务节点分别关联,且服务节点按序关联;
参数配置模块:用于配置每一服务节点的相关参数;
生成模块:用于生成所述业务的服务请求地址。
在一些较佳的实施方式中,所述参数配置模块至少包括:
第一配置单元:用于配置每一服务节点的返回参数;
第二配置单元:用于配置与每一服务节点对应的后端服务接口地址、接口请求协议;
第三配置单元:用于配置每一服务节点中后端服务接口的返还值与返还参数的匹配关系。
在一些较佳的实施方式中,所述装置还包括:
异常策略配置模块:用于异常重发条件设置、重发次数设置、回滚条件设置、回滚地址设置;
监控服务配置模块:用于编排任务日志配置、异常日志配置及统计报表配置。
本发明相比现有技术而言的有益效果在于:
本发明提供一种基于微服务网关的服务调用方法,该方法至少包括如下步骤:根据接收到的客户端发送的服务请求,识别服务请求对应的目标服务请求地址;根据预先建立的服务请求地址与预先配置的服务编排的对应关系,确定目标服务地址是否有对应的目标服务编排;若有,则根据目标服务编排的流程创建执行任务;根据创建的执行任务,按序调用相应的服务节点执行,并获得服务请求结果;将服务请求结果返还至客户端,该方法基于预先配置的服务编排,通过一个微服务网关接收服务请求、调用服务节点并返还服务请求结果,完善了前后端分离框架,将复杂业务逻辑封装在网关服务层,实现多个微服务之间业务逻辑过程,在使用时只需根据接收到的服务请求调用相应流程即可获得最终的服务请求结果,由此减小前后端交互的次数并降低了客户端开发的复杂性;
本发明还提供一种基于微服务网关的服务编排方法,其包括如下步骤:确定执行任一业务所需的服务接口集,并为每一服务接口配置相应的服务节点;配置服务节点的执行顺序;将微服务网关与各服务节点分别关联,且服务节点按序关联;配置每一服务节点的相关参数;生成业务的服务请求地址,该服务编排方法通过预先配置,可将复杂业务逻辑预先封装在网关服务层,形成具有一定逻辑的调用流程,以实现服务的组合调用;
本申请的方案只要实现其中任一技术效果即可。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一中的一种基于微服务网关的服务调用方法的流程图;
图2是本发明实施例一中的一种基于基于微服务网关的服务调用方法的逻辑图;
图3是本发明实施例一中方法的预先配置服务编排的原理图;
图4是本发明实施例一中方法的目标服务编排执行逻辑图;
图5是本发明实施例二中的一种基于微服务网关的服务编排方法流程图;
图6是本发明实施例三中的一种基于微服务网关的服务调用装置的结构图;
图7是本发明实施例四中的一种基于微服务网关的服务编排装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于微服务网关的服务调用方法、服务编排方法及装置,该方法基于一个微服务网关实现,微服务网关首先识别客户端发送的服务请求所对应的目标服务请求地址,然后确定目标服务地址是否有对应的目标服务编排;若有,则根据目标服务编排的流程创建执行任务,并按序调用相应的服务节点执行以获得服务请求结果,最后将服务请求结果返还至客户端,该方法基于预先配置的服务编排,通过一个微服务网关,实现多个微服务之间业务逻辑过程,在向微服务网关发送一个服务请求即可获得最终的服务请求结果,可减小前后端交互的次数并降低了客户端开发的复杂性。
下面将结合具体实施例对该方法及装置作进一步说明。
实施例一
结合图1~2所示,本实施例提供一种基于微服务网关的服务调用方法,至少包括如下步骤:
S1、微服务网关根据接收到的客户端发送的服务请求,识别该服务请求对应的目标服务请求地址。
在步骤S1之后,还包括:微服务网关进行权限判断以及目标服务请求地址类型判断。
微服务网关接收该服务请求,并根据用户访问标识(如用户ID等)判断该用户是否具有目标服务请求地址的访问权限。若该用户具有访问权限,则进一步判断该目标服务请求地址的类型,以便后续按类型查找该目标服务请求地址的服务编排状况。
S2、根据预先建立的服务请求地址与预先配置的服务编排的对应关系,确定目标服务地址是否有对应的目标服务编排。
作为一种较佳的实施方式,该方法还包括步骤:预先建立服务请求地址与预先配置的服务编排的对应关系。优选的,服务请求地址与服务编排为一一对应关系,可采用映射等常规技术手段实现。
在建立对应关系之前,该方法还包括:预先配置服务编排,本实施例中,配置了一种基于微服务网关实现API网关的服务编排,且作为一种优选,微服务网关采用zuul。服务编排任务包括的主要是和任务相关的功能,通过这个功能可以进行简单的工作流程的实现,在请求网关流程开始时就是一个任务的开始。
配置服务编排具体包括如下子步骤:
确定执行任一业务所需的服务接口集,并为每一服务接口配置相应的服务节点;
配置服务节点的执行顺序;
将微服务网关与各服务节点分别关联,且服务节点按序关联;
配置每一服务节点的相关参数;
生成业务的服务请求地址。
其中,配置每一服务节点的相关参数,至少包括如下子步骤:
配置每一服务节点的返回参数;
配置与每一服务节点对应的后端服务接口地址、接口请求协议;
配置每一服务节点中后端服务接口的返还值与返还参数的匹配关系。
通过设置每一服务节点的返回参数,当调用业务服务时,调用一服务节点后,微服务网关将后端服务接口的返还值与该服务节点的返回参数进行匹配,若匹配通过,则调用下一服务节点,否则调用异常策略。
另外,每一节点中还需配置服务名称、服务描述、服务请求地址、后端服务接口地址等信息。接口请求协议包括http、RPC等。
在配置完流程后生成的唯一编排的服务请求地址(path),用于请求网关时的调用。
如图3所示,进行服务编排的原理为:首先确定执行一业务所需的服务节点为服务节点1、服务节点2、服务节点3,并确定执行顺序为服务节点1、服务节点2、服务节点3。将微服务网关与各服务节点分别关联,且服务节点按序关联。针对这三个节点,相应设置各服务节点的配置1、配置2及配置3,即配置每一服务节点的相关参数,完成配置后生成流程实例并生成唯一编排的服务请求地址(path)。
在一些较佳的实施方式中,预先配置服务编排还包括异常策略配置及监控服务配置。异常策略配置至少包括:异常重发条件设置、重发次数设置、回滚条件设置、回滚地址设置。监控服务配置包括:编排任务日志配置、异常日志配置及统计报表配置。异常策略与监控服务是对任务在每个服务节点运行情况的了解,可以及时知道流程的状态,方便我们做出相应的策略,是否需要重发,是否需要跳过,是否回滚,如未配置回滚策略,则需要服务系统保证数据最终一致性;在网关配置中心提供编排任务日志和异常日志明细和统计报表,提供给接入系统运维人员查询和问题定位。
S3、若有,则根据目标服务编排的流程创建执行任务。
具体地,步骤S3至少包括如下子骤:
S31、当目标服务地址具有相应的目标服务编排,则进入目标服务编排逻辑;
S32、获取该目标服务编排的流程;
S33、根据该流程创建执行任务。
若目标服务地址不具有对应的目标服务编排,则进入非编排逻辑,后端每一节点经过协议转换后,分别调用后端服务,每一节点分别将执行结果反馈至客户端。
S4、根据步骤S3中创建的执行任务,按序调用相应的服务节点执行,并获得服务请求结果。该步骤S4至少包括如下子步骤:
S41、查询执行任务所需的所有服务节点、服务节点的执行顺序及各服务节点的返回参数。
S42、调用第一服务节点执行相应后端服务并获取第一返回值,记录任务状态。
S43、判断当前任务完成状态以及所述第一返回值与第一节点的返回参数是否匹配。
S44、若任务状态为未完成,且所述第一返回值与第一节点的返回参数匹配时,调用第二服务节点执行相应后端服务并获取第二返回值,记录任务状态。若所述任务状态为已完成,则将第一返回值作微服务请求结果返还至微服务网关。
在一些较佳的实施方式中,当第一返回值与所述与第一节点的返回参数不匹配时,调用异常策略,异常策略至少包括重发、跳过或回滚中的一种。
如图4所示,当创建任务后,依次经过服务节点1、服务节点2及服务节点3进行任务的执行,任一节点执行完成则进入下一节点,若当前节点为任务最末节点,则结束任务。期间当某一节点执行不成功时,调用异常监控,进行重发或回滚。
S5、将服务请求结果返还至客户端。
当步骤S4执行至任务结束,获得服务请求结果后,则通过微服务网关将服务请求结果返还至客户端。
该方法基于预先配置的服务编排,通过一个微服务网关接收服务请求、调用服务节点并返还服务请求结果,完善了前后端分离框架,将复杂业务逻辑封装在网关服务层,实现多个微服务之间业务逻辑过程,在使用时只需根据接收到的服务请求调用相应流程即可获得最终的服务请求结果,由此减小前后端交互的次数并降低了客户端开发的复杂性。
实施例二
结合图5所示,本实施例提供一种基于微服务网关的服务编排方法,该方法至少包括如下步骤:
S1'、确定执行任一业务所需的服务接口集,并为每一服务接口配置相应的服务节点;
S2'、配置服务节点的执行顺序;
S3'、将所述微服务网关与各服务节点分别关联,且服务节点按序关联;
S4'、配置每一服务节点的相关参数;
S5'、生成所述业务的服务请求地址。
其中,步骤S4'至少包括如下子步骤:
S41'、配置每一服务节点的返回参数;
S42'、配置与每一服务节点对应的后端服务接口地址、接口请求协议;
S43'、配置每一服务节点中后端服务接口的返还值与返还参数的匹配关系。
在一些较佳的实施方式中,该服务编排方法还包括异常策略配置及监控服务配置:
其中异常策略配置至少包括:异常重发条件设置、重发次数设置、回滚条件设置、回滚地址设置;监控服务配置包括:编排任务日志配置、异常日志配置及统计报表配置。
该服务编排方法通过预先配置,可将复杂业务逻辑预先封装在网关服务层,形成具有一定逻辑的调用流程,以实现服务的组合调用。
实施例三
为执行上述实施例一中的一种基于微服务网关的服务调用方法,本实施例提供一种与之对应的基于微服务网关的服务调用装置100,如图6所示,该装置100至少包括:
识别模块1:用于根据接收到的客户端发送的服务请求,识别服务请求对应的目标服务请求地址;
确定模块2:用于根据预先建立的服务请求地址与预先配置的服务编排的对应关系,确定目标服务地址是否有对应的目标服务编排;
创建模块3:用于根据目标服务编排的流程创建执行任务;
执行模块4:用于根据创建的执行任务,按序调用相应的服务节点执行,并获得服务请求结果;
返还模块5:用于将服务请求结果返还至客户端。
在一些较佳的实施方式中,执行模块4至少包括:
查询单元41:用于查询执行任务所需的所有服务节点、服务节点的执行顺序及各服务节点的返回参数;
第一调用单元42:用于调用第一服务节点执行相应后端服务并获取第一返回值,记录任务状态;
第一判断单元43:用于判断当前任务完成状态;
第二判断单元44:用于判断第一返回值与第一节点的返回参数是否匹配;
第二调用单元45:用于当任务状态为未完成,且第一返回值与第一节点的返回参数匹配时,调用第二服务节点执行相应后端服务并获取第二返回值;
记录单元46:用于记录任务状态;
返还单元47:用于当任务状态为已完成时,将第一返回值作微服务请求结果返还至微服务网关。
在一些较佳的实施方式中,执行模块4还包括:
第三调用单元48:用于当第一返回值与与第一节点的返回参数不匹配时,调用异常策略,异常策略至少包括重发、跳过或回滚中的一种。
在一些较佳的实施方式中,装置100还包括服务编排模块6,服务编排模块6至少包括:
服务节点配置单元61:确定执行任一业务所需的服务接口集,并为每一服务接口配置相应的服务节点;
服务节点排序单元62:用于配置服务节点的执行顺序;
关联单元63:用于将所述微服务网关与各服务节点分别关联,且服务节点按序关联;
参数配置单元64:用于配置每一服务节点的相关参数;
生成单元65:用于生成业务的服务请求地址。
在一些较佳的实施方式中,参数配置单元64至少包括:
第一配置子单元641:用于配置每一服务节点的返回参数;
第二配置子单元642:用于配置与每一服务节点对应的后端服务接口地址、接口请求协议;
第三配置子单元643:用于配置每一服务节点中后端服务接口的返还值与返还参数的匹配关系。
在一些较佳的实施方式中,服务编排模块6还包括:
异常策略配置单元66:用于异常重发条件设置、重发次数设置、回滚条件设置、回滚地址设置;
监控服务配置单元67:用于编排任务日志配置、异常日志配置及统计报表配置。
需要说明的是:上述实施例提供的基于微服务网关的服务调用装置在触发基于微服务网关的服务调用业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种基于微服务网关的服务调用装置与实施例一提供的基于微服务网关的服务调用方法的实施例属于同一构思,即该装置是基于该方法的,其具体实现过程详见方法实施例,这里不再赘述。
实施例四:
为执行实施例二中的一种基于微服务网关的服务编排方法,本实施例提供一种与之对应的基于微服务网关的服务编排装置200,如图7所示,该装置200至少包括:
服务节点配置模块21:确定执行任一业务所需的服务接口集,并为每一服务接口配置相应的服务节点;
服务节点排序模块22:用于配置服务节点的执行顺序;
关联模块23:用于将微服务网关与各服务节点分别关联,且服务节点按序关联;
参数配置模块24:用于配置每一服务节点的相关参数;
生成模块25:用于生成业务的服务请求地址。
在一些较佳的实施方式中,参数配置模块24至少包括:
第一配置单元241:用于配置每一服务节点的返回参数;
第二配置单元242:用于配置与每一服务节点对应的后端服务接口地址、接口请求协议;
第三配置单元243:用于配置每一服务节点中后端服务接口的返还值与返还参数的匹配关系。
装置200还包括:
异常策略配置模块26:用于异常重发条件设置、重发次数设置、回滚条件设置、回滚地址设置;
监控服务配置模块27:用于编排任务日志配置、异常日志配置及统计报表配置。
需要说明的是:上述实施例提供的基于微服务网关的服务编排装置在触发基于微服务网关的服务编排业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种基于微服务网关的服务编排装置与实施例二提供的一种基于微服务网关的服务编排方法的实施例属于同一构思,即该装置是基于该方法的,其具体实现过程详见方法实施例,这里不再赘述。
尽管已描述了本发明实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于微服务网关的服务调用方法,其特征在于,所述方法至少包括如下步骤:
根据接收到的客户端发送的服务请求,识别所述服务请求对应的目标服务请求地址;
根据预先建立的服务请求地址与预先配置的服务编排的对应关系,确定所述目标服务地址是否有对应的目标服务编排;
若有,则根据所述目标服务编排的流程创建执行任务;
根据所述创建的执行任务,按序调用相应的服务节点执行,并获得服务请求结果;
将所述服务请求结果返还至客户端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述创建的执行任务,按序调用相应的服务节点执行,并获得服务请求结果,至少包括如下子步骤:
查询执行任务所需的所有服务节点、服务节点的执行顺序及各服务节点的返回参数;
调用第一服务节点执行相应后端服务并获取第一返回值,记录任务状态;
判断当前任务完成状态以及所述第一返回值与第一节点的返回参数是否匹配;
若任务状态为未完成,且所述第一返回值与第一节点的返回参数匹配时,调用第二服务节点执行相应后端服务并获取第二返回值,记录任务状态;
若所述任务状态为已完成,则将第一返回值作为微服务请求结果返还至微服务网关。
3.根据权利要求2所述的方法,其特征在于,当所述第一返回值与所述第一节点的返回参数不匹配时,调用异常策略,所述异常策略至少包括重发、跳过或回滚中的一种。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述方法还包括:预先配置服务编排,具体包括如下子步骤:
确定执行任一业务所需的服务接口集,并为每一服务接口配置相应的服务节点;
配置服务节点的执行顺序;
将所述微服务网关与各服务节点分别关联,且服务节点按序关联;
配置每一服务节点的相关参数;
生成所述业务的服务请求地址。
5.根据权利要求4所述方法,其特征在于,所述配置每一服务节点的相关参数,至少包括如下子步骤:
配置每一服务节点的返回参数;
配置与每一服务节点对应的后端服务接口地址、接口请求协议;
配置每一服务节点中后端服务接口的返还值与返还参数的匹配关系。
6.根据权利要求4所述的方法,其特征在于,所述预先配置服务编排还包括异常策略配置及监控服务配置:
所述异常策略配置至少包括:异常重发条件设置、重发次数设置、回滚条件设置、回滚地址设置;
所述监控服务配置包括:编排任务日志配置、异常日志配置及统计报表配置。
7.一种基于微服务网关的服务编排方法,其特征在于:所述方法至少包括如下步骤:
确定执行任一业务所需的服务接口集,并为每一服务接口配置相应的服务节点;
配置服务节点的执行顺序;
将所述微服务网关与各服务节点分别关联,且服务节点按序关联;
配置每一服务节点的相关参数;
生成所述业务的服务请求地址。
8.一种基于微服务网关的服务调用装置,其特征在于,所述装置至少包括:
识别模块:用于根据接收到的客户端发送的服务请求,识别所述服务请求对应的目标服务请求地址;
确定模块:用于根据预先建立的服务请求地址与预先配置的服务编排的对应关系,确定所述目标服务地址是否有对应的目标服务编排;
创建模块:用于根据所述目标服务编排的流程创建执行任务;
执行模块:用于根据所述创建的执行任务,按序调用相应的服务节点执行,并获得服务请求结果;
返还模块:用于将所述服务请求结果返还至客户端。
9.根据权利要求8所述的装置,其特征在于,所述执行模块至少包括:
查询单元:用于查询执行任务所需的所有服务节点、服务节点的执行顺序及各服务节点的返回参数;
第一调用单元:用于调用第一服务节点执行相应后端服务并获取第一返回值,记录任务状态;
第一判断单元:用于判断当前任务完成状态;
第二判断单元:用于判断第一返回值与第一节点的返回参数是否匹配;
第二调用单元:用于当任务状态为未完成,且所述第一返回值与第一节点的返回参数匹配时,调用第二服务节点执行相应后端服务并获取第二返回值;
记录单元:用于记录任务状态;
返还单元:用于当所述任务状态为已完成时,将第一返回值作微服务请求结果返还至微服务网关。
10.一种基于微服务网关的服务编排装置,其特征在于,所述装置至少包括:
服务节点配置模块:确定执行任一业务所需的服务接口集,并为每一服务接口配置相应的服务节点;
服务节点排序模块:用于配置服务节点的执行顺序;
关联模块:用于将所述微服务网关与各服务节点分别关联,且服务节点按序关联;
参数配置模块:用于配置每一服务节点的相关参数;
生成模块:用于生成所述业务的服务请求地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010014293.4A CN111245916B (zh) | 2020-01-07 | 2020-01-07 | 基于微服务网关的服务调用方法、服务编排方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010014293.4A CN111245916B (zh) | 2020-01-07 | 2020-01-07 | 基于微服务网关的服务调用方法、服务编排方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111245916A true CN111245916A (zh) | 2020-06-05 |
CN111245916B CN111245916B (zh) | 2023-03-17 |
Family
ID=70865476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010014293.4A Active CN111245916B (zh) | 2020-01-07 | 2020-01-07 | 基于微服务网关的服务调用方法、服务编排方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245916B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112132530A (zh) * | 2020-08-17 | 2020-12-25 | 珠海市卓轩科技有限公司 | 可视化动态流程编排方法及系统 |
CN112199426A (zh) * | 2020-09-24 | 2021-01-08 | 建信金融科技有限责任公司 | 微服务架构下的接口调用管理方法、装置、服务器及介质 |
CN112667204A (zh) * | 2020-12-15 | 2021-04-16 | 南方电网数字电网研究院有限公司 | 微服务应用的数据处理方法、装置和计算机设备 |
CN112688802A (zh) * | 2020-12-11 | 2021-04-20 | 北京三维天地科技股份有限公司 | 一种基于api网关的高效能交换中间件 |
CN112866379A (zh) * | 2021-01-15 | 2021-05-28 | 浪潮云信息技术股份公司 | 微服务的访问方法和装置 |
CN112948152A (zh) * | 2021-04-16 | 2021-06-11 | 深圳市今天国际物流技术股份有限公司 | 一种编排数据处理与接口服务及调用方法 |
CN113037830A (zh) * | 2021-03-04 | 2021-06-25 | 浪潮云信息技术股份公司 | 基于网关的微服务api编排方法及系统 |
CN113934476A (zh) * | 2021-10-15 | 2022-01-14 | 中电金信软件有限公司 | 逻辑调用方法、装置及电子设备 |
CN114201231A (zh) * | 2021-11-29 | 2022-03-18 | 江苏金农股份有限公司 | 一种分布式的微服务编排系统及方法 |
CN114416314A (zh) * | 2022-01-18 | 2022-04-29 | 北京计算机技术及应用研究所 | 一种基于api网关的服务编排方法 |
CN114615251A (zh) * | 2022-03-24 | 2022-06-10 | 中电科思仪科技股份有限公司 | 一种实现采算分离的信号测试仪器云控制系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110149364A (zh) * | 2019-04-15 | 2019-08-20 | 厦门市美亚柏科信息股份有限公司 | 基于数据服务平台提供微服务的方法、装置、存储介质 |
CN110310034A (zh) * | 2019-06-28 | 2019-10-08 | 京东数字科技控股有限公司 | 一种应用于SaaS的服务编排、业务流程处理方法和装置 |
CN110324177A (zh) * | 2019-05-31 | 2019-10-11 | 中国人民解放军国防科技大学 | 一种微服务架构下的服务请求处理方法、系统及介质 |
US20190319885A1 (en) * | 2018-04-16 | 2019-10-17 | Citrix Systems, Inc. | Policy based service routing |
CN110489181A (zh) * | 2019-08-23 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 基于微服务架构的服务运行方法、装置、平台及存储介质 |
-
2020
- 2020-01-07 CN CN202010014293.4A patent/CN111245916B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190319885A1 (en) * | 2018-04-16 | 2019-10-17 | Citrix Systems, Inc. | Policy based service routing |
CN110149364A (zh) * | 2019-04-15 | 2019-08-20 | 厦门市美亚柏科信息股份有限公司 | 基于数据服务平台提供微服务的方法、装置、存储介质 |
CN110324177A (zh) * | 2019-05-31 | 2019-10-11 | 中国人民解放军国防科技大学 | 一种微服务架构下的服务请求处理方法、系统及介质 |
CN110310034A (zh) * | 2019-06-28 | 2019-10-08 | 京东数字科技控股有限公司 | 一种应用于SaaS的服务编排、业务流程处理方法和装置 |
CN110489181A (zh) * | 2019-08-23 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 基于微服务架构的服务运行方法、装置、平台及存储介质 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112132530A (zh) * | 2020-08-17 | 2020-12-25 | 珠海市卓轩科技有限公司 | 可视化动态流程编排方法及系统 |
CN112132530B (zh) * | 2020-08-17 | 2023-11-07 | 珠海市卓轩科技有限公司 | 可视化动态流程编排方法及系统 |
CN112199426B (zh) * | 2020-09-24 | 2023-06-02 | 建信金融科技有限责任公司 | 微服务架构下的接口调用管理方法、装置、服务器及介质 |
CN112199426A (zh) * | 2020-09-24 | 2021-01-08 | 建信金融科技有限责任公司 | 微服务架构下的接口调用管理方法、装置、服务器及介质 |
CN112688802A (zh) * | 2020-12-11 | 2021-04-20 | 北京三维天地科技股份有限公司 | 一种基于api网关的高效能交换中间件 |
CN112688802B (zh) * | 2020-12-11 | 2021-08-27 | 北京三维天地科技股份有限公司 | 一种基于api网关的高效能交换中间件 |
CN112667204A (zh) * | 2020-12-15 | 2021-04-16 | 南方电网数字电网研究院有限公司 | 微服务应用的数据处理方法、装置和计算机设备 |
CN112667204B (zh) * | 2020-12-15 | 2024-01-23 | 南方电网数字平台科技(广东)有限公司 | 微服务应用的数据处理方法、装置和计算机设备 |
CN112866379A (zh) * | 2021-01-15 | 2021-05-28 | 浪潮云信息技术股份公司 | 微服务的访问方法和装置 |
CN113037830A (zh) * | 2021-03-04 | 2021-06-25 | 浪潮云信息技术股份公司 | 基于网关的微服务api编排方法及系统 |
CN112948152A (zh) * | 2021-04-16 | 2021-06-11 | 深圳市今天国际物流技术股份有限公司 | 一种编排数据处理与接口服务及调用方法 |
CN113934476A (zh) * | 2021-10-15 | 2022-01-14 | 中电金信软件有限公司 | 逻辑调用方法、装置及电子设备 |
CN113934476B (zh) * | 2021-10-15 | 2022-08-19 | 中电金信软件有限公司 | 逻辑调用方法、装置及电子设备 |
CN114201231A (zh) * | 2021-11-29 | 2022-03-18 | 江苏金农股份有限公司 | 一种分布式的微服务编排系统及方法 |
CN114416314A (zh) * | 2022-01-18 | 2022-04-29 | 北京计算机技术及应用研究所 | 一种基于api网关的服务编排方法 |
CN114615251A (zh) * | 2022-03-24 | 2022-06-10 | 中电科思仪科技股份有限公司 | 一种实现采算分离的信号测试仪器云控制系统及方法 |
CN114615251B (zh) * | 2022-03-24 | 2024-05-03 | 中电科思仪科技股份有限公司 | 一种实现采算分离的信号测试仪器云控制系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111245916B (zh) | 2023-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111245916B (zh) | 基于微服务网关的服务调用方法、服务编排方法及装置 | |
CN105933444B (zh) | 基于注册中心和缓存机制协同的服务发现方法 | |
US11063831B2 (en) | Network slice management method and apparatus | |
CN106131213B (zh) | 一种服务管理方法和系统 | |
US8612568B2 (en) | Method, system and network server for recording use of network service capability by applications | |
US20200162345A1 (en) | Method, system and options for multi-operator service life cycle management | |
CN110326345B (zh) | 一种配置网络切片的方法、装置和系统 | |
CN109995859A (zh) | 一种调度方法、调度服务器及计算机可读存储介质 | |
WO2015113234A1 (zh) | 网络功能虚拟化的方法及装置 | |
CN105634778B (zh) | 实现vnf实例化的方法、系统及nfvo和vnfm | |
CN1968134B (zh) | 基于中间件实现多媒体融合业务的方法及系统 | |
WO2019174000A1 (zh) | 用于业务管理的方法和装置 | |
CN109522386B (zh) | 一种跨gis平台的空间信息服务生成方法和系统 | |
CN112465615B (zh) | 账单数据的处理方法、装置及系统 | |
CN110908812A (zh) | 业务数据处理方法、装置、可读存储介质和计算机设备 | |
CN106060189B (zh) | 一种分布式域名注册系统 | |
CN109819023A (zh) | 分布式事务处理方法及相关产品 | |
US20060069783A1 (en) | Program, method and device for managing information shared among components, recording medium and communication apparatus | |
CN112799970B (zh) | 测试数据处理方法、装置、电子设备及介质 | |
CN109583615A (zh) | 会议室的预订方法、系统及服务器、计算机可读存储介质 | |
CN109981795B (zh) | 资源请求调度方法和装置 | |
CN111913784A (zh) | 任务调度方法及装置、网元、存储介质 | |
EP2541832A1 (en) | Converged service system and implementation method thereof | |
CN1879350A (zh) | 用于调停管理命令的设备 | |
CN112788054B (zh) | 一种物联网数据处理方法、系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |