CN114237628A - 微服务编排及调用方法、装置、计算机设备及存储介质 - Google Patents
微服务编排及调用方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114237628A CN114237628A CN202210177449.XA CN202210177449A CN114237628A CN 114237628 A CN114237628 A CN 114237628A CN 202210177449 A CN202210177449 A CN 202210177449A CN 114237628 A CN114237628 A CN 114237628A
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- agent program
- flow
- call
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Abstract
本发明公开了一种微服务编排及调用方法、装置、计算机设备及存储介质,其方法实现包括:对待编排微服务的能力数据进行规范化采集;对采集的待编排微服务的能力数据进行图像化的流程编排;通过调度引擎对编排后的流程,进行流程注册,并启动实例;根据采集的待编排微服务的能力数据,生成与待编排微服务对应的代理程序,通过工具链对代理程序进行编译,以生成镜像包,并发布至容器平台;当监听到调用请求时,调度引擎按照预设调用规则向对应的代理程序发送调用指令,以实现对编排后的流程进行调用。本申请中,通过代理程序与调度引擎进行状态交互,使得参与编排的微服务仅需负责处理原始的业务逻辑即可,从而实现无侵入业务服务的编排调用。
Description
技术领域
本发明涉及微服务编排技术领域,尤其涉及一种微服务编排及调用方法、装置、计算机设备及存储介质。
背景技术
微服务是目前流行的一种新兴的软件架构风格,在微服务体系结构中,可以将应用分解为多个更小颗粒度的服务。
目前,微服务编排主要基于流程引擎技术实现,流程引擎技术发展已经有10多年的历史。根据各开源技术引擎的发展阶段及细分方向的不同,把引擎分为传统引擎和新一代引擎。传统引擎以activiti、flowable、camunda为代表,新一代引擎以netflix/conductor、uber/cadence、zeebe-io/zeebe为代表。
经过验证,采用传统引擎,比如,activiti,其单实例性能在3000次/秒左右,因此仅可满足小规模的编排,对于高并发的微服务编排领域存在性能瓶颈。
而对于新一代流程引擎,比如zeebe,该zeebe的体系结构包含四个主要组件:客户端,网关,代理和导出器。在实际使用过程中,参与编排的服务都需要主动嵌入编排引擎的客户端负责与引擎进行状态交互,因此需要对微服务进行改造侵入,适用性不高。
发明内容
基于此,有必要针对上述技术问题,提供一种微服务编排及调用方法、装置、计算机设备及存储介质,以解决现有技术中存在的性能不足,对微服务进行改造侵入,导致微服务价值降低,且适用性不高的问题。
第一方面,提供了一种微服务编排及调用方法,包括:
对待编排微服务的能力数据进行规范化采集;
对采集的所述待编排微服务的能力数据进行图像化的流程编排;
通过调度引擎对编排后的流程,进行流程注册,并启动实例;
根据采集的所述待编排微服务的能力数据,生成与所述待编排微服务对应的代理程序,通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台;
当监听到调用请求时,所述调度引擎按照预设调用规则向对应的代理程序发送调用指令,以实现对所述编排后的流程进行调用。
在一实施例中,所述通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台,包括:
将所述代理程序提交至所述工具链代码库中,并通过工具链对所述代理程序进行编译,以生成所述镜像包;
将所述镜像包发布至所述容器平台,进行容器化无状态部署,并配置弹性伸缩策略。
在一实施例中,所述通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台之后,包括:
对所述编排后的流程进行入口信息登记,并注册到服务网关,以供调用。在一实施例中,所述对采集的所述待编排微服务的能力数据进行图像化的流程编排,包括:
通过图像化编排工具对所述待编排微服务的能力数据进行流程定义,并通过所述待编排微服务的能力数据进行任务节点绑定以及参数配置;
根据所述定义的流程,生成所述流程描述文件,以使所述调度引擎根据所述流程描述文件进行流程注册。
在一实施例中,所述对待编排微服务的能力数据进行规范化采集,包括:
创建表格式信息采集模型;
通过所述表格式信息采集模型,对所述待编排微服务的能力数据进行规范化采集。
在一实施例中,所述调度引擎按照预设调用规则向对应的代理程序发送调用指令之后,包括:
所述代理程序根据所述调用指令,执行对所述编排后的流程的调用;
对所述编排后的流程的当前调用状态进行监测,并向所述调度引擎进行反馈。
在一实施例中,所述流程定义的入口为编排后的流程的入口。
第二方面,提供了一种微服务编排及调用装置,包括:
信息采集模块,用于对待编排微服务的能力数据进行规范化采集;
编排模块,用于对采集的所述待编排微服务的能力数据进行图像化的流程编排;
调度引擎,用于对编排后的流程,进行流程注册,并启动实例;
代理程序生成模块,用于根据采集的所述待编排微服务的能力数据,生成与所述待编排微服务对应的代理程序,通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台;
所述调度引擎,还用于:当监听到调用请求时,按照预设调用规则向对应的代理程序发送调用指令,以实现对所述编排后的流程进行调用。
第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如上述所述的微服务编排及调用方法的步骤。
第四方面,提供了一种可读存储介质,所述可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述所述的微服务编排及调用方法的步骤。
上述微服务编排及调用方法、装置、计算机设备及存储介质,其方法实现包括:对待编排微服务的能力数据进行规范化采集;对采集的所述待编排微服务的能力数据进行图像化的流程编排;通过调度引擎根据对编排后的流程,进行流程注册,并启动实例;根据采集的所述待编排微服务的能力数据,生成与所述待编排微服务对应的代理程序,通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台;当监听到调用请求时,所述调度引擎按照预设调用规则向对应的代理程序发送调用指令,以实现对所述编排后的流程进行调用。本申请中,通过对待编排微服务的能力数据进行采集,实现对微服务的能力数据进行了信息登记,且根据微服务能力的登记信息,为待编排微服务生成对应的代理程序,并通过工具链自动发布到生产环境中,通过代理程序与调度引擎进行状态交互,实现对编排后的流程进行调用,参与编排的微服务仅需负责处理原始的业务逻辑即可,无需嵌入调度引擎的客户端与引擎进行状态交互,可实现无侵入业务服务的编排调用,在保持高性能的同时,增加了适用性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中微服务编排及调用方法的实施环境图;
图2是本发明一实施例中微服务编排及调用方法的一流程示意图;
图3是本发明一实施例中微服务编排及调用装置的一结构示意图;
图4是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供的微服务编排及调用方法,可应用在如图1的应用环境中,其中,通过信息采集模块对微服务能力数据的采集和规范化,并通过编排工具对采集的数据进行流程定义,定义的流程按照预设的规则生成描述文件,并向调度引擎进行流程注册,调度引擎接受流程注册后启动实例,并可根据客户端通过服务网关发送的调用请求,进行调度任务分配,同时,代理程序生成模块可以根据信息采集模块采集的能力数据生成对应的代理程序,该代理程序可与该调度引擎进行状态交互,调度引擎在接收到调用请求时,可向对应的代理程序发送调度任务,通过该代理程序实现对编排后的流程进行调用。无需通过参与编排的服务主动嵌入到引擎的客户端,以便于引擎进行状态交互,解决了对业务侵入的影响,保留了高性能的同时,增加了适用性。
其中,该编排工具为Zeebe编排工具,该调度引擎为Zeebe调度引擎。
其中,该微服务可包括多种不同类型的微服务,且该微服务的能力也可包括多种,比如,微服务能力A、微服务能力B以及微服务能力C,分别用于表示不同的微服务能力。
其中,Zeebe编排工具还可根据采集的能力数据,对任务关联能力设置属性。
在一实施例中,如图2所示,提供了一种微服务编排及调用方法,包括如下步骤:
在步骤S110中,对待编排微服务的能力数据进行规范化采集;
在本申请一实施例中,该能力数据包括能力描述、名称、入参以及用途、出参以及用途、支持的协议及格式,超时或者异常状态等数据。
其中,入参可为请求参数,示例性的,可为用户名、用户身份信息等报文内容。
其中,该出参可为响应参数,示例性的,可为响应码、响应结果等信息。
在本申请实施例中,该待编排微服务可包括多个不同类型的微服务,示例性的,可为信息服务、内容服务、通信服务等。
在本申请实施例中,由于不同类型的微服务的能力数据不同,为提高采集的数据的规范化,可通过预先设置的信息采集模型,对不同类型的微服务的能力数据进行统一、规范性采集,以便适应不同的类型的微服务,能够整合多源数据,减少不同来源的数据的读写和适配问题。
在步骤S120中,对采集的所述待编排微服务的能力数据进行图像化的流程编排;
在本申请实施例中,通过Zeebe编排工具对待编排微服务的能力数据进行图像化的流程定义,并在定义过程中使用采集的能力数据进行任务节点绑定以及参数配置,同时,将定义的流程按照预设规则,生成流程描述文件,并向调度引擎进行流程注册。
其中,该任务节点可为编排后的新的流程,即新的业务服务。
其中,该参数配置,可用于对编排后的新的流程进行访问的入口、运营商类型、约束等进行配置。
在本申请一实施例中,该流程定义的入口即为编排后的流程的入口。
在步骤S130中,通过调度引擎对编排后的流程,进行流程注册,并启动实例;
在本申请实施例中,该调度引擎可为Zeebe调度引擎,该调度引擎可获取Zeebe编排工具编排后所生成的流程描述文件,并进行流程注册,并在流程注册成功后,启动实例。
在步骤S140中,根据采集的所述待编排微服务的能力数据,生成与所述待编排微服务对应的代理程序,通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台;
在本申请实施例中,该工具链为devops工具链。
在本申请实施例中,代理程序生成后,可提交到devops工具链的代码库中,并启动其CI-CD流程,进而实现对代理程序的编译,以生成镜像包,且自动发布到容器平台中。
在步骤S150中,当监听到调用请求时,所述调度引擎按照预设调用规则向对应的代理程序发送调用指令,以实现对所述编排后的流程进行调用。
在本申请实施例中,预设调用规则可包括调用逻辑、调用顺序、调用时间等等,比如,当具有多个微服务时,可根据编排的流程,依次对该代理程序进行调用。
在本申请实施例中,该调度引擎上配置有编排后的流程的调用入口,用户的客户端可通过该调用入口向该调度引擎发送调用请求,调度引擎在监听到调用请求时,可向对应的代理程序发送任务调度指令,以便对编排后的流程进行调用,代理程序在调用过程中,可实时向调度引擎发送当前任务调度状态,比如,响应时间、调度失败、调度异常等情况,以便调度引擎可获知代理程序的当前情况,以便在接收到其他调度请求时,可以合理安排调度任务。
本申请中,通过实现调度引擎与代理程序之间的状态交互,使得对编排后的流程的调用过程完全自动化,无需人工干预,可有效提高性能,且调度引擎中为编排后的流程提供了独立入口,无需对微服务侵入集成,适用性更强。
本申请提供了一种微服务编排及调用方法,包括:对待编排微服务的能力数据进行规范化采集;对采集的所述待编排微服务的能力数据进行图像化的流程编排;通过调度引擎对编排后的流程,进行流程注册,并启动实例;根据采集的所述待编排微服务的能力数据,生成与所述待编排微服务对应的代理程序,通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台;当监听到调用请求时,所述调度引擎按照预设调用规则向对应的代理程序发送调用指令,以实现对所述编排后的流程进行调用。本申请中,通过对待编排微服务的能力数据进行采集,实现对微服务的能力数据进行了信息登记,且根据微服务能力的登记信息,为待编排微服务生成对应的代理程序,并通过工具链自动发布到生产环境中,通过代理程序与调度引擎进行状态交互,实现对编排后流程进行调用,参与编排的微服务仅需负责处理原始的业务逻辑即可,无需嵌入调度引擎的客户端与引擎进行状态交互,可实现无侵入业务服务的编排调用,在保持高性能的同时,增加了适用性。
在一实施例中,提供了一种微服务编排及调用方法,包括如下流程:
在步骤S110中,对待编排微服务的能力数据进行规范化采集;
在本申请一实施例中,该能力数据包括能力描述、名称、入参以及用途、出参以及用途、支持的协议及格式,超时或者异常状态等数据。
其中,入参可为请求参数,示例性的,可为用户名、用户身份信息等报文内容。
其中,该出参可为响应参数,示例性的,可为响应码、响应结果等信息。
在本申请实施例中,该待编排微服务可包括多个不同类型的微服务,示例性的,可为信息服务、内容服务、通信服务等。
在本申请一实施例中,所述对待编排微服务的能力数据进行规范化采集,包括:
创建表格式信息采集模型;
通过所述表格式信息采集模型,对所述待编排微服务的能力数据进行采集。
其中,该表格式信息采集模型可包括参数内容、微服务性能、能力的基本内容、业务规则等编排、使用所需要的相关信息。
在本申请实施例中,由于不同类型的微服务的能力数据不同,为提高采集的数据的规范化,可通过预先设置的信息采集模型,对不同类型的微服务的能力数据进行统一、规范性采集,以便适应不同类型的微服务,能够整合多源数据,减少不同来源的数据的读写和适配问题。
在本申请实施例中,该表格式的信息采集模型可保存在关系型数据库中,并可根据需要进行更新和迭代维护。
在步骤S120中,对采集的所述待编排微服务的能力数据进行图像化的流程编排;
在本申请一实施例中,所述对采集的所述待编排微服务的能力数据进行图像化的流程编排,包括:
通过图像化编排工具对所述待编排微服务的能力数据进行流程定义,并通过所述待编排微服务的能力数据进行任务节点绑定以及参数配置;
根据定义的流程,生成流程描述文件,以使所述调度引擎根据所述流程描述文件进行流程注册。
在本申请实施例中,图像化编排工具可为Zeebe编排工具,通过该Zeebe编排工具对待编排微服务的能力数据进行图像化的流程定义,并在定义过程中使用采集的能力数据进行任务节点绑定以及参数配置,同时,将定义的流程按照预设规则,生成流程描述文件,并向调度引擎进行流程注册。
在本申请一实施例中,该流程定义的入口即为编排后的流程的入口。
其中,该任务节点可为编排后的新的流程,即新的业务服务。
其中,该参数配置,可用于对编排后的新的微服务的访问入口、运营商类型、约束等进行配置。
在步骤S130中,通过调度引擎对编排后的流程,进行流程注册,并启动实例;
在本申请实施例中,该调度引擎可为Zeebe调度引擎,该调度引擎可获取Zeebe编排工具编排后所生成的流程描述文件,并进行流程注册,并在流程注册成功后,启动实例。
在步骤S140中,根据采集的所述待编排微服务的能力数据,生成与所述待编排微服务对应的代理程序,通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台;
在本申请实施例中,该工具链为devops工具链。
在本申请一实施例中,所述通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台,包括:
将所述代理程序提交至所述工具链代码库中,并通过工具链对所述代理程序进行编译,以生成所述镜像包;
将所述镜像包发布至所述容器平台,进行容器化无状态部署,并配置弹性伸缩策略。
本申请实施例中,代理程序生成后,可提交到devops工具链的代码库中,并启动其CI-CD流程,进而实现代码的编译,同时生成镜像包,并自动发布到容器平台,同时可配置弹性伸缩策略。
其中,该弹性伸缩策略可包括弹性扩张阈值以及弹性收缩阈值,比如,当调用的并发数大于该弹性扩张阈值时,则对容器数量进行扩张,当调用的并发数低于该弹性收缩阈值时,则对容器数量进行回收,以便合理分配资源,避免访问延迟和资源超负荷运行。
本申请实施例中,通过进行无状态部署,可以便于对代理程序进行横向扩展,可以更加容易的分发到新的进程,提高性能。
在本申请一实施例中,所述通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台之后,包括:
对所述编排后的流程进行入口信息登记,并注册到服务网关,以供调用。
其中,该服务网关为API网关。
在本申请实施例中,在代理程序发布完成后,可对编排后的流程入口信息进行登记,并注册到服务网关中,以便用户可以通过该服务网关访问该流程入口,进而实现对编排后的流程进行调用。
其中,该编排后的流程入口可配置于调度引擎中。
在步骤S150中,当监听到调用请求时,所述调度引擎按照预设调用规则向对应的代理程序发送调用指令,以实现对所述编排后的流程进行调用。
在本申请实施例中,预设调用规则可包括调用逻辑、调用顺序、调用时间等等,比如,当具有多个微服务时,可根据编排的流程,依次对该代理程序进行调用。
在本申请实施例中,该调度引擎上配置有编排后的流程的调用入口,用户的客户端可通过该调用入口向该调度引擎发送调用请求,调度引擎在监听到调用请求时,可向对应的代理程序发送任务调度指令,以便对编排后的流程进行调用。
在本申请一实施例中,所述调度引擎按照预设调用规则向对应的代理程序发送调用指令之后,包括:
所述代理程序根据所述调用指令,执行对所述编排后的流程的调用;
对所述编排后的流程的当前调用状态进行监测,并向所述调度引擎进行反馈
在本申请实施例中,代理程序接收到调用引擎发送的调用指令后,可根据采集的微服务能力数据规范化信息描述进行调用,并且代理程序在执行调用过程中,可实时对调用状态进行监测,并向调度引擎反馈当前的调度状态,比如,响应时间、调度失败、调度异常等情况,以便调度引擎可获知代理程序的当前情况,以便在接收到其他调度请求时,可以合理安排调度任务。
本申请中,通过对待编排微服务的能力数据进行采集,实现对微服务的能力数据进行了信息登记,且根据微服务能力的登记信息,为待编排微服务生成对应的代理程序,并通过工具链自动发布到生产环境中,通过代理程序与调度引擎进行状态交互,实现对编排后流程进行调用,参与编排的微服务仅需负责处理原始的业务逻辑即可,无需嵌入调度引擎的客户端与引擎进行状态交互,可实现无侵入业务服务的编排调用,在保持高性能的同时,增加了适用性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种微服务编排及调用装置,该微服务编排及调用装置与上述实施例中微服务编排及调用方法一一对应。如图3所示,该微服务编排及调用装置包括:信息采集模块10、编排模块20、调度引擎30和代理程序生成模块40。各功能模块详细说明如下:
信息采集模块10,用于对待编排微服务的能力数据进行规范化采集;
编排模块20,用于对采集的所述待编排微服务的能力数据进行图像化的流程编排;
调度引擎30,用于对编排后的流程,进行流程注册,并启动实例;
代理程序生成模块40,用于根据采集的所述待编排微服务的能力数据,生成与所述待编排微服务对应的代理程序,通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台;
所述调度引擎30,还用于:当监听到调用请求时,按照预设调用规则向对应的代理程序发送调用指令,以实现对所述编排后的流程进行调用。
在一实施例中,代理程序生成模块40,还用于:
将所述代理程序提交至所述工具链代码库中,并通过工具链对所述代理程序进行编译,以生成所述镜像包;
将所述镜像包发布至所述容器平台,进行容器化无状态部署,并配置弹性伸缩策略。
在一实施例中,该微服务编排及调用装置,还包括:入口信息注册登记模块50,用于:
对所述编排后的流程进行入口信息登记,并注册到服务网关,以供调用。
在本申请一实施例中,该编排模块20,还用于
通过图像化编排工具对所述待编排微服务的能力数据进行流程定义,并通过所述待编排微服务的能力数据进行任务节点绑定以及参数配置;
根据所述定义的流程,生成流程描述文件,以使所述调度引擎30根据所述流程描述文件进行流程注册。
其中,所述流程定义的入口为编排后的流程的入口。
在本申请一实施例中,该信息采集模块10,还用于:
创建表格式信息采集模型;
通过所述表格式信息采集模型,对所述待编排微服务的能力数据进行采集。
在本申请一实施例中,所述代理生成模块40,还用于:
所述代理程序根据所述调用指令,执行对所述编排后的流程的调用;
对所述编排后的流程的当前调用状态进行监测,并向所述调度引擎进行反馈。
本申请中,通过对待编排微服务的能力数据进行采集,实现对微服务的能力数据进行了信息登记,且根据微服务能力的登记信息,为待编排微服务生成对应的代理程序,并通过工具链自动发布到生产环境中,通过代理程序与调度引擎进行状态交互,实现对编排后流程进行调用,参与编排的微服务仅需负责处理原始的业务逻辑即可,无需嵌入调度引擎的客户端与引擎进行状态交互,可实现无侵入业务服务的编排调用,在保持高性能的同时,增加了适用性。
关于微服务编排及调用装置的具体限定可以参见上文中对于微服务编排及调用方法的限定,在此不再赘述。上述微服务编排及调用装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端设备,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质。该可读存储介质存储有计算机可读指令。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种微服务编排及调用方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现如上述微服务编排及调用方法的步骤。
一种可读存储介质,可读存储介质存储有计算机可读指令,计算机可读指令被处理器执行时实现如上述微服务编排及调用方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种微服务编排及调用方法,其特征在于,所述方法,包括:
对待编排微服务的能力数据进行规范化采集;
对采集的所述待编排微服务的能力数据进行图像化的流程编排;
通过调度引擎对编排后的流程,进行流程注册,并启动实例;
根据采集的所述待编排微服务的能力数据,生成与所述待编排微服务对应的代理程序,通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台;
当监听到调用请求时,所述调度引擎按照预设调用规则向对应的代理程序发送调用指令,以实现对所述编排后的流程进行调用。
2.如权利要求1所述的微服务编排及调用方法,其特征在于,所述通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台,包括:
将所述代理程序提交至所述工具链代码库中,并通过工具链对所述代理程序进行编译,以生成所述镜像包;
将所述镜像包发布至所述容器平台,进行容器化无状态部署,并配置弹性伸缩策略。
3.如权利要求1或2任意一项所述的微服务编排及调用方法,其特征在于,所述通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台之后,包括:
对所述编排后的流程进行入口信息登记,并注册到服务网关,以供调用。
4.如权利要求1所述的微服务编排及调用方法,其特征在于,所述对采集的所述待编排微服务的能力数据进行图像化的流程编排,包括:
通过图像化编排工具对所述待编排微服务的能力数据进行流程定义,并通过所述待编排微服务的能力数据进行任务节点绑定以及参数配置;
根据定义的流程,生成流程描述文件,以使所述调度引擎根据所述流程描述文件进行流程注册。
5.如权利要求1所述的微服务编排及调用方法,其特征在于,所述对待编排微服务的能力数据进行规范化采集,包括:
创建表格式信息采集模型;
通过所述表格式信息采集模型,对所述待编排微服务的能力数据进行规范化采集。
6.如权利要求1所述的微服务编排及调用方法,其特征在于,所述调度引擎按照预设调用规则向对应的代理程序发送调用指令之后,包括:
所述代理程序根据所述调用指令,执行对所述编排后的流程的调用;
对所述编排后的流程的当前调用状态进行监测,并向所述调度引擎进行反馈。
7.如权利要求4所述的微服务编排及调用方法,其特征在于,所述流程定义的入口为编排后的流程的入口。
8.一种微服务编排及调用装置,其特征在于,包括:
信息采集模块,用于对待编排微服务的能力数据进行规范化采集;
编排模块,用于对采集的所述待编排微服务的能力数据进行图像化的流程编排;
调度引擎,用于对编排后的流程,进行流程注册,并启动实例;
代理程序生成模块,用于根据采集的所述待编排微服务的能力数据,生成与所述待编排微服务对应的代理程序,通过工具链对所述代理程序进行编译,以生成镜像包,并发布至容器平台;
所述调度引擎,还用于:当监听到调用请求时,按照预设调用规则向对应的代理程序发送调用指令,以实现对所述编排后的流程进行调用。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求1至7任意一项所述微服务编排及调用方法的步骤。
10.一种可读存储介质,所述可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至7任意一项所述微服务编排及调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210177449.XA CN114237628B (zh) | 2022-02-25 | 2022-02-25 | 微服务编排及调用方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210177449.XA CN114237628B (zh) | 2022-02-25 | 2022-02-25 | 微服务编排及调用方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114237628A true CN114237628A (zh) | 2022-03-25 |
CN114237628B CN114237628B (zh) | 2022-05-27 |
Family
ID=80748153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210177449.XA Active CN114237628B (zh) | 2022-02-25 | 2022-02-25 | 微服务编排及调用方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114237628B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116708552A (zh) * | 2022-09-30 | 2023-09-05 | 腾讯云计算(北京)有限责任公司 | 一种地铁微服务注册方法、装置、设备及可读存储介质 |
CN116881571A (zh) * | 2023-07-27 | 2023-10-13 | 广东麦视互联网科技有限公司 | 基于微服务的数据挖掘方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423952A (zh) * | 2017-07-25 | 2017-12-01 | 苏州博纳讯动软件有限公司 | 一种可扩展的DevOps持续交付系统及其方法 |
US20180006904A1 (en) * | 2016-06-29 | 2018-01-04 | International Business Machines Corporation | Orchestration process template for generation of orchestration process to tolerate errors |
CN109408064A (zh) * | 2018-09-10 | 2019-03-01 | 杭州安恒信息技术股份有限公司 | 一种编排可视化的微服务系统自动化部署方法与系统 |
CN110554856A (zh) * | 2019-09-06 | 2019-12-10 | 航天科工广信智能技术有限公司 | 一种微服务治理系统 |
CN111813582A (zh) * | 2020-07-28 | 2020-10-23 | 东北大学 | Ice服务部署编排方法 |
CN111949338A (zh) * | 2020-08-10 | 2020-11-17 | 上海熙菱信息技术有限公司 | 一种基于微服务的服务编排方法 |
CN113312037A (zh) * | 2021-06-15 | 2021-08-27 | 北京百度网讯科技有限公司 | 应用于微服务的数据处理方法、装置、设备和存储介质 |
US20210311798A1 (en) * | 2021-06-24 | 2021-10-07 | Intel Corporation | Dynamic microservices allocation mechanism |
CN113626002A (zh) * | 2021-08-13 | 2021-11-09 | 中国工商银行股份有限公司 | 一种服务执行方法及装置 |
US11223522B1 (en) * | 2021-01-15 | 2022-01-11 | Dell Products L.P. | Context-based intelligent re-initiation of microservices |
-
2022
- 2022-02-25 CN CN202210177449.XA patent/CN114237628B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180006904A1 (en) * | 2016-06-29 | 2018-01-04 | International Business Machines Corporation | Orchestration process template for generation of orchestration process to tolerate errors |
CN107423952A (zh) * | 2017-07-25 | 2017-12-01 | 苏州博纳讯动软件有限公司 | 一种可扩展的DevOps持续交付系统及其方法 |
CN109408064A (zh) * | 2018-09-10 | 2019-03-01 | 杭州安恒信息技术股份有限公司 | 一种编排可视化的微服务系统自动化部署方法与系统 |
CN110554856A (zh) * | 2019-09-06 | 2019-12-10 | 航天科工广信智能技术有限公司 | 一种微服务治理系统 |
CN111813582A (zh) * | 2020-07-28 | 2020-10-23 | 东北大学 | Ice服务部署编排方法 |
CN111949338A (zh) * | 2020-08-10 | 2020-11-17 | 上海熙菱信息技术有限公司 | 一种基于微服务的服务编排方法 |
US11223522B1 (en) * | 2021-01-15 | 2022-01-11 | Dell Products L.P. | Context-based intelligent re-initiation of microservices |
CN113312037A (zh) * | 2021-06-15 | 2021-08-27 | 北京百度网讯科技有限公司 | 应用于微服务的数据处理方法、装置、设备和存储介质 |
US20210311798A1 (en) * | 2021-06-24 | 2021-10-07 | Intel Corporation | Dynamic microservices allocation mechanism |
CN113626002A (zh) * | 2021-08-13 | 2021-11-09 | 中国工商银行股份有限公司 | 一种服务执行方法及装置 |
Non-Patent Citations (1)
Title |
---|
黄强文等: "基于Spring Cloud和Docker的分布式微服务架构设计", 《微型电脑应用》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116708552A (zh) * | 2022-09-30 | 2023-09-05 | 腾讯云计算(北京)有限责任公司 | 一种地铁微服务注册方法、装置、设备及可读存储介质 |
CN116881571A (zh) * | 2023-07-27 | 2023-10-13 | 广东麦视互联网科技有限公司 | 基于微服务的数据挖掘方法及系统 |
CN116881571B (zh) * | 2023-07-27 | 2024-01-12 | 广东麦视互联网科技有限公司 | 基于微服务的数据挖掘方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114237628B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114237628B (zh) | 微服务编排及调用方法、装置、计算机设备及存储介质 | |
CN110191063B (zh) | 服务请求的处理方法、装置、设备及存储介质 | |
CN115328663B (zh) | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 | |
CN112099958B (zh) | 分布式多任务管理方法、装置、计算机设备及存储介质 | |
CN111401903A (zh) | 区块链消息处理方法、装置、计算机以及可读存储介质 | |
CN107896162B (zh) | 监控系统的部署方法、装置、计算机设备及存储介质 | |
CN111651285A (zh) | 批量业务数据处理方法、装置、计算机设备和存储介质 | |
CN110928653B (zh) | 跨集群任务的执行方法、装置、计算机设备和存储介质 | |
CN110851159B (zh) | 业务规则更新方法、装置、计算机设备和存储介质 | |
CN108446172B (zh) | 数据调取方法、装置、计算机设备和存储介质 | |
CN110532025B (zh) | 基于微服务架构的数据处理方法、装置、设备及存储介质 | |
CN109739583B (zh) | 多线程并行运行的方法、装置、计算机设备以及存储介质 | |
CN110780870A (zh) | 一种业务执行方法、装置、设备及存储介质 | |
CN113377668A (zh) | 服务接口的自动化测试方法、装置和计算机设备 | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN111884834A (zh) | 基于zookeeper的分布式系统升级方法、系统和计算机设备 | |
US10803413B1 (en) | Workflow service with translator | |
CN110659131A (zh) | 任务处理方法、电子装置、计算机设备及存储介质 | |
CN111258741B (zh) | 仓库任务执行的方法、分布式服务器集群及计算机设备 | |
CN109547253B (zh) | 文件下载方法、装置、计算机设备和存储介质 | |
CN111026988A (zh) | 一种页面加载的方法、装置、系统及计算机设备 | |
CN116185869A (zh) | 一种软件测试方法、系统、计算机设备及存储介质 | |
CN115729705A (zh) | 分布式任务批量处理方法、装置、设备及存储介质 | |
CN111047187B (zh) | 信息匹配处理方法、装置、计算机设备和存储介质 | |
CN114610413A (zh) | 基于Java的同异步任务的执行方法、装置、设备及存储介质 |
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 |