System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种微服务调用关系管理方法及系统技术方案_技高网

一种微服务调用关系管理方法及系统技术方案

技术编号:40221450 阅读:3 留言:0更新日期:2024-02-02 22:27
本发明专利技术提供了一种微服务调用关系管理方法及系统,属于微服务管理技术领域。该方法包括:对各个所述微服务进行注册,以便从所述配置中心获取各个所述微服务的所述元数据信息;根据所述元数据信息获取各个所述微服务的所述下游调用关系数据;将各个所述微服务根据其对应的下游调用关系数据进行排序,并在出现循环依赖时不再继续进行排序;存储完成排序的所述微服务的调用关系数据;根据展示请求和所述调用关系数据展示目标微服务的调用关系。本发明专利技术的微服务调用关系管理方法及系统可以直观清晰地展现各个微服务之间的依赖关系,为问题排查、系统瓶颈、链路调用等优化上提供分析借鉴的依据。

【技术实现步骤摘要】

本专利技术涉及微服务管理,特别是涉及一种微服务调用关系管理方法及系统


技术介绍

1、微服务架构体系是一种面向服务的软件开发技术,它提倡将单一应用划分成各个微小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个微服务都围绕具体的业务进行构建,并且能够运行在独立的进程当中,服务与服务之间采用轻量级的通信机制进行相互访问。因此,每个微服务在调用链上就存在着上下游依赖关系,我们称之为血缘关系。

2、一个大型的应用平台是由成千上百个微服务组成,往往一次请求会跨越多个应用,导致应用调用链及其复杂,如果不能明确微服务之间的上下血缘关系,势必给我们的微服务治理造成困扰:1)开发测试人员无法在庞大的微服务体系中清晰的感知到自己所负责的微服务的具体定位;2)运维人员在运维过程中,无法根据当前服务的既有现象快速做出判断;3)系统架构师在快速排查问题以及系统瓶颈、链路调用等优化上无法准确定位到哪个环节;4)技术领导对于一个由成千上百个微服务组成的大型系统,无法做到整体把控。因此,如何直观清晰地反应各个微服务之间的调用关系是亟待解决的问题。


技术实现思路

1、本专利技术的一个目的是要提供一种微服务调用关系管理方法,能够直观清晰地展现各个微服务之间的调用关系。

2、本专利技术进一步的一个目的是要避免在后端调用展示时不会出现死循环。

3、特别地,本专利技术提供了一种微服务调用关系管理方法,每一所述微服务在配置中心均配置有对应的元数据信息以及与其下游的微服务的下游调用关系数据,所述方法包括:

4、对各个所述微服务进行注册,以便从所述配置中心获取各个所述微服务的所述元数据信息;

5、根据所述元数据信息获取各个所述微服务的所述下游调用关系数据;

6、将各个所述微服务根据其对应的下游调用关系数据进行排序,并在出现循环依赖时不再继续进行排序;

7、存储完成排序的所述微服务的调用关系数据;

8、根据展示请求和所述调用关系数据展示目标微服务的调用关系。

9、可选地,将各个所述微服务根据其对应的下游调用关系数据进行排序,并在出现循环依赖时不再继续进行排序的步骤包括:

10、查询某一所述微服务的所述下游调用关系数据并按照上下游关系进行排列,以形成微服务对;

11、当出现与前面所排列的所述微服务对的微服务名称相同且上下游关系相反的微服务对时进行循环依赖标记;

12、对存在所述循环依赖标记的所述微服务对中的下游的所述微服务停止查询其下游调用关系数据。

13、可选地,存储完成排序的所述微服务的调用关系数据的步骤包括:

14、存储所有的所述微服务对以及所述循环依赖标记。

15、可选地,根据展示请求和所述调用关系数据展示目标微服务的调用关系的步骤包括:

16、根据展示请求查找所述微服务对;

17、在所述微服务对存在循环依赖标记时不再继续查找;

18、根据查找结果进行展示。

19、可选地,所述展示请求包括展示所有所述微服务的请求和展示某一所述微服务的下游的所述微服务的请求。

20、特别地,本专利技术还提供了一种微服务调用关系管理系统,每一所述微服务在配置中心均配置有对应的元数据信息以及与其下游的微服务的下游调用关系数据,所述系统包括:

21、微服务元数据管理模块,用于对各个所述微服务进行注册,以便从所述配置中心获取各个所述微服务的所述元数据信息;

22、所述微服务元数据管理模块还用于根据所述元数据信息获取各个所述微服务的所述下游调用关系数据,并将各个所述微服务根据其对应的下游调用关系数据进行排序,并在出现循环依赖时不再继续进行排序;

23、微服务血缘关系管理模块,用于存储完成排序的所述微服务的调用关系数据,并根据展示请求和所述调用关系数据展示目标微服务的调用关系。

24、可选地,微服务调用关系管理系统还包括:

25、主库,用于存储所述元数据信息和所述下游调用关系数据;

26、至少一个从库,用于从所述主库同步所述元数据信息和所述下游调用关系数据。

27、根据本专利技术的一个实施例,通过获取各个微服务的元数据信息和下游调用关系数据能够得出用于反应各个微服务之间的血缘关系(即上下游调用关系)的调用关系数据,以便根据展示请求查询该调用关系数据得到各个微服务之间的调用关系并进行展示,可以直观清晰地展现各个微服务之间的依赖关系,为问题排查、系统瓶颈、链路调用等优化上提供分析借鉴的依据,使得技术领导、架构师、开发测试运维人员对各个微服务的调用关系了然于胸。

28、进一步地,通过对微服务进行注册获取信息的方式,接入微服务云平台的方式简单,对业务无侵入。

29、根据本专利技术的一个实施例,在进行排序时进行了循环依赖标记,然后再进行存储,因此在入库时就解决了循环依赖的问题。以微服务对和循环依赖标记来进行存储的方式能够在后端调用展示时不会出现死循环。

30、根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。

本文档来自技高网...

【技术保护点】

1.一种微服务调用关系管理方法,每一所述微服务在配置中心均配置有对应的元数据信息以及与其下游的微服务的下游调用关系数据,其特征在于,所述方法包括:

2.根据权利要求1所述的微服务调用关系管理方法,其特征在于,将各个所述微服务根据其对应的下游调用关系数据进行排序,并在出现循环依赖时不再继续进行排序的步骤包括:

3.根据权利要求2所述的微服务调用关系管理方法,其特征在于,存储完成排序的所述微服务的调用关系数据的步骤包括:

4.根据权利要求3所述的微服务调用关系管理方法,其特征在于,根据展示请求和所述调用关系数据展示目标微服务的调用关系的步骤包括:

5.根据权利要求1-4中任一项所述的微服务调用关系管理方法,其特征在于,所述展示请求包括展示所有所述微服务的请求和展示某一所述微服务的下游的所述微服务的请求。

6.一种微服务调用关系管理系统,每一所述微服务在配置中心均配置有对应的元数据信息以及与其下游的微服务的下游调用关系数据,其特征在于,所述系统包括:

7.根据权利要求6所述的微服务调用关系管理系统,其特征在于,还包括:

...

【技术特征摘要】

1.一种微服务调用关系管理方法,每一所述微服务在配置中心均配置有对应的元数据信息以及与其下游的微服务的下游调用关系数据,其特征在于,所述方法包括:

2.根据权利要求1所述的微服务调用关系管理方法,其特征在于,将各个所述微服务根据其对应的下游调用关系数据进行排序,并在出现循环依赖时不再继续进行排序的步骤包括:

3.根据权利要求2所述的微服务调用关系管理方法,其特征在于,存储完成排序的所述微服务的调用关系数据的步骤包括:

4.根据权利要求3所述的微服务调用关系管理...

【专利技术属性】
技术研发人员:余小强
申请(专利权)人:浙江吉利控股集团有限公司
类型:发明
国别省市:

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

1