System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,特别是涉及一种故障定位方法、装置、电子设备及存储介质。
技术介绍
1、微服务(或称微服务架构)是一种云原生架构方法,在单个应用中包含众多松散耦合且可单独部署的小型组件或微服务,这些服务相互独立,因此,基于微服务架构的应用的代码更新更加容易,即可以通过微服务直接添加新特性或功能,而不必更新整个应用。
2、然而,基于微服务架构的应用,一次请求可能需要调用多个服务,例如图1所示,该应用的一个接口被调用时,该接口需要调用服务a和服务b,服务a进一步需要调用服务c和服务d;此种情况下,这些被调用的任何一个服务出现故障,都会导致这次请求出现问题,例如反应到应用的客户端上则可能表现为:提示请求超时。
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、本申请实施例的技术方案中,在第一节点被调用时,可以获取第一节点的第一信息,在第一节点调用第二节点时,可以获取第一节点的第二信息,从而向目标服务器发送第一节点的第一信息和第一节点的第二信息;其中,第一节点调用第二节点时,第二节点可以获取第二节点的第一信息,从而向目标服务器发送第二节点的第一信息;其中,第一节点为调用链路中的其中一个节点,第二节点为第一节点的其中一个子节点,第一节点的第一信息包括第一节点被调用时采集的第一链路数据、第一节点的第一参数信息、第一节点的父节点的第二本文档来自技高网...
【技术保护点】
1.一种故障定位方法,其特征在于,应用于第一节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述第一链路数据的获取过程,包括:
4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一链路数据包括如下至少一项:
5.根据权利要求2所述的方法,其特征在于,所述第四参数信息包括如下至少一项:
6.一种故障定位方法,其特征在于,所述方法包括:
7.一种故障定位装置,其特征在于,所述装置包括:
8.一种故障定位装置,其特征在于,应用于目标服务器,所述装置包括:
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5任一项所述故障定位方法的步骤,或者,实现如权利要求6所述故障定位方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现
...【技术特征摘要】
1.一种故障定位方法,其特征在于,应用于第一节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述第一链路数据的获取过程,包括:
4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一链路数据包括如下至少一项:
5.根据权利要求2所述的方法,其特征在于,所述第四参数信息包括如下至少一项:
6.一种故障定位方法,其特征在于,所述方法包括:
7.一种故障定位装置,其特征在于,所述装置包括:<...
【专利技术属性】
技术研发人员:李旭东,
申请(专利权)人:北京房多多信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。