一种分布式微服务的调用和查询方法、系统技术方案

技术编号:23860815 阅读:76 留言:0更新日期:2020-04-18 13:43
本发明专利技术属于通信技术领域,公开了一种分布式微服务的调用和查询方法,所述方法为:步骤1:任务协调中心接收客户端的业务请求,并根据业务请求匹配预存在任务协调中心的任务集并将任务集的ID反馈给客户端;步骤2:根据任务集按照调用规则调用微服务,并接收来自于微服务的反馈结果,将多个微服务反馈的反馈结果进行整理得到任务执行结果;步骤3:任务协调中心将任务执行结果发送给客户端;在步骤2‑3中,所述客户端根据任务集的ID生成用于查询任务集的执行情况的查询指令并发送给任务协调中心,所述任务协调中心反馈给客户端查询结果。该方法可降低分布式微服务调用时候的耦合性,提高任务跟踪的便捷性,同时,本发明专利技术还公开了一种分布式微服务的调用和查询系统。

A method and system for calling and querying distributed microservices

【技术实现步骤摘要】
一种分布式微服务的调用和查询方法、系统
本专利技术涉及通信
,具体地说是一种分布式微服务的调用和查询方法、系统。
技术介绍
在现有微服务架构中,虽然服务与服务之间职责逐渐单一化,但是在进行一个整体业务串接处理过程中还是通过硬编码的形式进行业务组合实现,形成了高度耦合设计,不能很好的体现架构设计中低耦合高内聚的设计原则。微服务与微服务之间耦合度高,对于业务的改动一定需要改动代码,修改性弱,比较难适应需求的快速变化,且对于后期任务的追踪性不透明。本申请所要解决的技术问题是:如何降低分布式微服务调用时候的耦合性,提高任务跟踪的便捷性。
技术实现思路
本专利技术的目的在于提供一种分布式微服务的调用和查询方法、系统,该方法采用任务协调中心预先设置多个任务集,通过接收客户端发送的业务请求并匹配对应的任务集,任务协调中心通过接口调用微服务,在更改业务请求或对业务请求进行调整时,客户端无需进行微服务调用请求的代码的重新编写,可直接匹配不同的任务集或对任务集中的一项或多项任务停用即可,同时,还通过反馈给客户端任务集的ID供客户端可直观查询业务执行进度和具体执行情况。本专利技术的具体的技术方案为:一种分布式微服务的调用和查询方法,所述方法为:步骤1:任务协调中心接收客户端的业务请求,并根据业务请求匹配预存在任务协调中心的任务集并将任务集的ID反馈给客户端;所述任务集中规定了微服务的调用规则;需要说明的是,所述任务集包含多个任务集任务,多个任务集任务以及任务集任务的执行规则表示调用了哪些微服务以及微服务的调用规则。任务集有任务协调中心的任务集模型产生,不同的业务请求对应不同的任务集。步骤2:根据任务集按照调用规则调用微服务,并接收来自于微服务的反馈结果,将多个微服务反馈的反馈结果进行整理得到任务执行结果;步骤3:任务协调中心将任务执行结果发送给客户端;在步骤2-3中,所述客户端根据任务集的ID生成用于查询任务集的执行情况的查询指令并发送给任务协调中心,所述任务协调中心反馈给客户端查询结果。在上述的分布式微服务的调用和查询方法中,所述调用规则包括多个微服务的调用顺序、微服务调用失败后的重试次数、微服务以同步或异步请求的调用方式。在上述的分布式微服务的调用和查询方法中,所述查询结果包括:业务执行成功或失败、任务集中各微服务的反馈结果。在上述的分布式微服务的调用和查询方法中,还包括步骤4:任务协调中心将任务执行结果中未获得反馈的任务停用,并更新任务集。在上述的分布式微服务的调用和查询方法中,还包括步骤5:任务协调中心定期对各任务集进行轮训,将轮训的结果反馈给客户端并执行步骤4。同时,本专利技术还公开了一种分布式微服务的调用和查询系统,包括:客户端:用于生成业务请求、查询指令;任务协调中心,包括如下模块:任务集存储模块:用于存储与不同业务请求匹配的多个任务集;任务集查询模块:用于接收客户端发送的业务请求,并从任务集存储模块获取与该业务请求匹配的任务集,将该任务集的ID发送给客户端;所述查询指令根据任务集的ID生成;所述任务集中规定了微服务的调用规则;微服务调用模块:用于根据任务集查询模块获取的任务集通过接口调用微服务;任务执行结果生成模块:用于接收微服务的反馈结果并根据多个微服务的反馈结果生成任务执行结果,并将任务执行结果反馈给客户端;进度查询模块:用于接收客户端的查询指令,并查询多个微服务的查询任务集的执行情况,并将执行情况作为查询结果反馈给客户端。在上述的分布式微服务的调用和查询系统中,所述任务协调中心还包括任务集更新模块:用于在任务集中将任务执行结果生成模块生成的任务执行结果中未获得反馈的任务停用,并将任务集存储模块中的任务集更新。在上述的分布式微服务的调用和查询系统中,还包括业务应用中心,所述业务应用中心设置在客户端和任务协调中心之间,用于接收客户端发送的业务请求并验证该业务请求、将业务请求转发至任务集查询模块、接收任务执行结果生成模块、反馈的任务执行结果并转发至客户端。在上述的分布式微服务的调用和查询系统中,所述调用规则包括多个微服务的调用顺序、微服务调用失败后的重试次数、微服务以同步或异步请求的调用方式;所述查询结果包括:业务执行成功或失败、任务集中各微服务的反馈结果。在上述的分布式微服务的调用和查询系统中,所述任务协调中心还包括轮训模块,所述轮训模块用于定期对各任务集进行轮训,将轮训的结果反馈给客户端并任务集更新模块更新任务集。与现有技术相比,本专利技术的有益效果在于:本专利技术的方法采用任务协调中心预先设置多个任务集,通过接收客户端发送的业务请求并匹配对应的任务集,任务协调中心通过接口调用微服务,在更改业务请求或对业务请求进行调整时,客户端无需进行微服务调用请求的代码的重新编写,可直接匹配不同的任务集或对任务集中的一项或多项任务停用即可,同时,还通过反馈给客户端任务集的ID供客户端可直观查询业务执行进度和具体执行情况。本专利技术的系统通过在任务协调中心设置任务集存储模块、任务集查询模块、微服务调用模块、任务执行结果生成模块、进度查询模块,可降低分布式微服务调用时候的耦合性,提高任务跟踪的便捷性。附图说明图1为本专利技术实施例1的流程框图;图2为本专利技术实施例1的并行结构的任务集示意图;图3为本专利技术实施例1的串行结构的任务集示意图;图4为本专利技术实施例1的并行结构的任务集的执行流程图;图5为本专利技术实施例1的串行结构的任务集的执行流程图;图6为本专利技术实施例1的流程示意图;图7为本专利技术实施例2的结构框图。具体实施方式下面结合具体实施方式,对本专利技术的技术方案作进一步的详细说明,但不构成对本专利技术的任何限制。实施例1如图1-6所示,一种分布式微服务的调用和查询方法,其特征在于,所述方法为:步骤1:任务协调中心接收客户端的业务请求,并根据业务请求匹配预存在任务协调中心的任务集并将任务集的ID反馈给客户端;所述任务集中规定了微服务的调用规则;业务请求是有客户端执行的,一个业务请求中包含多个任务,比如一个具体的业务请求为:电商发货请求,该请求就可能包含多个任务:调用物流微服务以生成物流单据,调用订单更新微服务以将订单更改成发货状态,调用短信通知微服务以发给客户一个订单状态变更的短信。客户端发送给任务协调中心的业务请求为一名称或代号,任务协调中心预先存储多个不同的任务集,每个任务集都有唯一的ID号,每个任务集与业务请求一一对应,所以当任务协调中心接收到业务请求时,就可以匹配到对应的任务集。任务集以树状形式将业务中的多个任务予以分解,每个任务对应一个或多个微服务。任务集中的各任务根据其之间的依赖关系都有不同的执行顺序和相应的执行规则,具体来说,任务集规定了微服务调用的调用规则,调用规则包括多个微服务的调用顺序、微服务本文档来自技高网...

【技术保护点】
1.一种分布式微服务的调用和查询方法,其特征在于,所述方法为:/n步骤1:任务协调中心接收客户端的业务请求,并根据业务请求匹配预存在任务协调中心的任务集并将任务集的ID反馈给客户端;所述任务集中规定了微服务的调用规则;/n步骤2:根据任务集按照调用规则调用微服务,并接收来自于微服务的反馈结果,将多个微服务反馈的反馈结果进行整理得到任务执行结果;/n步骤3:任务协调中心将任务执行结果发送给客户端;/n在步骤2-3中,所述客户端根据任务集的ID生成用于查询任务集的执行情况的查询指令并发送给任务协调中心,所述任务协调中心反馈给客户端查询结果。/n

【技术特征摘要】
1.一种分布式微服务的调用和查询方法,其特征在于,所述方法为:
步骤1:任务协调中心接收客户端的业务请求,并根据业务请求匹配预存在任务协调中心的任务集并将任务集的ID反馈给客户端;所述任务集中规定了微服务的调用规则;
步骤2:根据任务集按照调用规则调用微服务,并接收来自于微服务的反馈结果,将多个微服务反馈的反馈结果进行整理得到任务执行结果;
步骤3:任务协调中心将任务执行结果发送给客户端;
在步骤2-3中,所述客户端根据任务集的ID生成用于查询任务集的执行情况的查询指令并发送给任务协调中心,所述任务协调中心反馈给客户端查询结果。


2.根据权利要求1所述的分布式微服务的调用和查询方法,其特征在于,所述调用规则包括多个微服务的调用顺序、微服务调用失败后的重试次数、微服务以同步或异步请求的调用方式。


3.根据权利要求1所述的分布式微服务的调用和查询方法,其特征在于,所述查询结果包括:业务执行成功或失败、任务集中各微服务的反馈结果。


4.根据权利要求1所述的分布式微服务的调用和查询方法,其特征在于,还包括步骤4:任务协调中心将任务执行结果中未获得反馈的任务停用,并更新任务集。


5.根据权利要求4所述的分布式微服务的调用和查询方法,其特征在于,还包括步骤5:任务协调中心定期对各任务集进行轮训,将轮训的结果反馈给客户端并执行步骤4。


6.一种分布式微服务的调用和查询系统,其特征在于,包括:
客户端:用于生成业务请求、查询指令;
任务协调中心,包括如下模块:
任务集存储模块:用于存储与不同业务请求匹配的多个任务集;
任务集查询模块:用于接收客...

【专利技术属性】
技术研发人员:何奎曹连峰窦观生陶洋
申请(专利权)人:广州鲁邦通物联网科技有限公司
类型:发明
国别省市:广东;44

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

1