资源熔断方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:36609908 阅读:18 留言:0更新日期:2023-02-08 09:57
本申请提供一种资源熔断方法、装置、计算机设备及存储介质,涉及网络技术、云技术、云计算等技术领域。通过向管理节点上报第二资源被第一资源调用时的健康度,使得管理节点可以基于第二资源被各个资源调用时的健康度,统计全局健康度并及时下发给各个主调方,第一节点能够整体角度准确把握第二资源的调用状态;与单个资源基于各自调用情况进行熔断的技术相比,本申请不仅大大缩短了熔断时间,还提高了判断是否熔断的准确性。并且,当该全局健康度对应的调用状态为熔断状态时才熔断处理,进一步提高资源熔断的准确性;即使单个业务流量较小,也能够基于全局健康度迅速响应,提高了资源熔断的准确性和处理效率。断的准确性和处理效率。断的准确性和处理效率。

【技术实现步骤摘要】
资源熔断方法、装置、计算机设备及存储介质


[0001]本申请涉及网络技术、云技术、云计算等
,本申请涉及一种资源熔断方法、装置、计算机设备及存储介质。

技术介绍

[0002]随着应用中各项业务的规模扩大,业务的复杂度越来越高,许多业务需要多个资源之间相互调用实现;因而资源之间的调用已成为应用中业务架构的关键问题。而资源之间调用时常发生故障,本领域中,可在调用出现故障时,采用资源熔断的方式来保障整体的可用性。例如,服务A调用服务B的某个接口,当服务B故障时,服务A切断对服务B的调用。
[0003]相关技术中,资源熔断过程可包括:以服务A调用服务B为例,可利用一段时间内服务A对服务B的调用情况触发服务熔断。例如,先判断一分钟内调用请求总数是否达到最小调用阈值600,当调用请求总数达到600时,再判断调用错误率是否超过最低错误阈值50%,当调用失败次数超过300次时,即调用错误率超过50%,触发资源熔断,服务A停止调用服务B。
[0004]上述资源熔断需经一定时间段内的数据观察才可触发熔断,处理过程冗长。尤其对于流量较小的业务,需等待较长时间其服务调用数才可能到达到最小调用阈值,之后再判断是否熔断,等待期间极有可能错过实际熔断需求;因此导致服务熔断的效率和准确率较低。

技术实现思路

[0005]本申请提供了一种资源熔断方法、装置、计算机设备及存储介质,可以解决相关技术中服务熔断的效率和准确率较低的问题。所述技术方案如下:
[0006]一方面,提供了一种资源熔断方法,所述方法由第一资源所在的第一节点执行,所述方法包括:
[0007]基于所述第一资源对第二资源的调用结果,获取所述第二资源被所述第一资源调用时的健康度;
[0008]向管理节点发送所述健康度;
[0009]接收所述管理节点发送的所述第二资源的全局健康度,所述全局健康度用于指示所述第二资源向至少两个资源提供业务功能的能力;
[0010]响应于所述全局健康度对应的调用状态为熔断状态时,对所述第二资源进行熔断处理;
[0011]其中,所述健康度用于指示所述第二资源向所述第一资源提供业务功能的能力,所述第一资源是调用所述第二资源的至少两个资源中任一资源,所述第二资源是指提供业务功能的服务、接口、实例或者实例分组中的任一资源。
[0012]在一种可能实现方式中,所述方法还包括:
[0013]响应于所述全局健康度对应的调用状态为保持状态时,对所述第二资源进行保持
处理;
[0014]响应于所述全局健康度对应的调用状态为健康状态时,继续调用所述第二资源。
[0015]在一种可能实现方式中,所述对所述第二资源进行保持处理,包括:
[0016]当所述第一资源的路由规则所指示的资源中包括调用优先级高于所述第二资源的任一资源时,中断调用所述第二资源,并切换为调用对应调用状态为健康状态的第四资源;
[0017]当所述第二资源的调用优先级高于所述路由规则所指示的任一资源时,继续调用所述第二资源。
[0018]在一种可能实现方式中,所述调用结果包括:调用是否错误、调用延时或调用错误的错误类型中的至少一项;所述健康度指标包括:调用错误数、调用超时数、调用延时的总时长、调用成功数或属于目标类型的目标错误数中的至少一项。
[0019]另一方面,提供了一种资源熔断方法,所述方法由管理节点执行,所述方法包括:
[0020]获取第二资源被至少两个资源中每个资源调用时的健康度;
[0021]基于所述第二资源被所述至少两个资源中每个资源调用时的健康度,统计所述第二资源的全局健康度,所述全局健康度用于指示所述第二资源向所述至少两个资源提供业务功能的能力;
[0022]分别向所述至少两个资源中每个资源所在节点发送所述第二资源的全局健康度,以使所述每个资源所在节点基于所述全局健康度对应的调用状态确定是否对所述第二资源进行熔断处理;
[0023]其中,所述健康度用于指示所述第二资源向所述至少两个资源中任一资源提供业务功能的能力,所述至少两个资源包括第一资源,所述第二资源是指提供业务功能的服务、接口、实例或者实例分组中的任一资源。
[0024]在一种可能实现方式中,所述健康度包括所述至少两个资源中每个资源的资源标识、所述第二资源的资源标识和所述第二资源在目标周期内被所述每个资源调用时的健康度指标;所述健康度指标包括:调用错误数、调用超时数、调用延时的总时长、调用成功数或属于目标类型的目标错误数中的至少一项;
[0025]所述基于所述第二资源被所述至少两个资源中每个资源调用时的健康度,统计所述第二资源的全局健康度,包括以下至少一项:
[0026]基于所述调用错误数、所述调用成功数、所述至少两个资源的资源标识和所述第二资源的资源标识,统计所述第二资源在目标周期内被所述至少两个资源调用的调用错误率;
[0027]基于所述调用超时数、所述调用错误数、所述调用成功数、所述至少两个资源的资源标识和所述第二资源的资源标识,统计所述第二资源在目标周期内被所述至少两个资源调用的调用延时率;
[0028]基于所述调用错误数、所述至少两个资源的资源标识和所述第二资源的资源标识,统计所述第二资源在目标周期内被所述至少两个资源调用的调用错误总数;
[0029]基于所述调用错误数、所述调用成功数、所述目标错误数、所述至少两个资源的资源标识和所述第二资源的资源标识,统计所述第二资源在目标周期内被所述至少两个资源调用时属于目标类型的调用错误的目标错误率。
[0030]在一种可能实现方式中,所述获取第二资源被至少两个资源中每个资源调用时的健康度,包括以下至少一项:
[0031]接收所述至少两个资源中每个资源所在节点发送的第二资源的健康度;
[0032]接收所述第二资源所在的第二节点发送的被所述每个资源调用时的健康度。
[0033]另一方面,提供了一种资源熔断装置,所述装置由第一资源所在的第一节点执行,所述装置包括:
[0034]获取模块,用于基于所述第一资源对第二资源的调用结果,获取所述第二资源被所述第一资源调用时的健康度;
[0035]发送模块,用于向管理节点发送所述健康度;
[0036]接收模块,用于接收所述管理节点发送的所述第二资源的全局健康度,所述全局健康度用于指示所述第二资源向至少两个资源提供业务功能的能力;
[0037]熔断模块,用于响应于所述全局健康度对应的调用状态为熔断状态时,对所述第二资源进行熔断处理;
[0038]其中,所述健康度用于指示所述第二资源向所述第一资源提供业务功能的能力,所述第一资源是调用所述第二资源的至少两个资源中任一资源,所述第二资源是指提供业务功能的服务、接口、实例或者实例分组中的任一资源。
[0039]另一方面,提供了一种资源熔断装置,所述装置由管理节点执行,所述装置包括:
[0040]获取模块,用于获取第二资源被至少两个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源熔断方法,其特征在于,所述方法由第一资源所在的第一节点执行,所述方法包括:基于所述第一资源对第二资源的调用结果,获取所述第二资源被所述第一资源调用时的健康度;向管理节点发送所述健康度;接收所述管理节点发送的所述第二资源的全局健康度,所述全局健康度用于指示所述第二资源向至少两个资源提供业务功能的能力;响应于所述全局健康度对应的调用状态为熔断状态时,对所述第二资源进行熔断处理;其中,所述健康度用于指示所述第二资源向所述第一资源提供业务功能的能力,所述第一资源是调用所述第二资源的至少两个资源中任一资源,所述第二资源是指提供业务功能的服务、接口、实例或者实例分组中的任一资源。2.根据权利要求1所述的资源熔断方法,其特征在于,所述全局健康度包括所述第二资源被所述至少两个资源调用时的全局调用结果;所述响应于所述全局健康度对应的调用状态为熔断状态时,对所述第二资源进行熔断处理,包括:响应于所述全局健康度指示的全局调用结果符合目标条件时,确定所述全局健康度对应的调用状态为熔断状态;中断调用所述第二资源,并切换为调用对应调用状态为健康状态的第三资源。3.根据权利要求2所述的资源熔断方法,其特征在于,所述全局调用结果包括:所述第二资源被所述至少两个资源调用时的调用错误率、调用超时率、调用错误总数或者属于目标类型的调用错误的目标错误率中的至少一项;所述响应于所述全局健康度指示的全局调用结果符合目标条件时,确定所述全局健康度对应的调用状态为熔断状态,包括以下任一项:响应于所述调用错误率超过第一阈值时,确定所述全局健康度对应的调用状态为熔断状态;响应于所述调用超时率超过第二阈值时,确定所述全局健康度对应的调用状态为熔断状态;响应于所述调用错误总数超过第三阈值时,确定所述全局健康度对应的调用状态为熔断状态;响应于属于目标类型的调用错误的目标错误率超过第四阈值时,确定所述全局健康度对应的调用状态为熔断状态。4.根据权利要求2所述的资源熔断方法,其特征在于,所述中断调用所述第二资源,并切换为调用对应调用状态为健康状态的第三资源,包括:中断调用所述第二资源;响应于对所述第二资源的调用中断成功时,根据所述第一资源的路由规则,从位于所述第二资源目标区域范围内的相邻资源中,选择对应调用状态为健康状态的第三资源,调用所述第三资源,所述路由规则用于指示与所述第二资源提供的业务功能存在重叠的至少一个相邻资源。
5.根据权利要求1所述的资源熔断方法,其特征在于,所述基于第一资源对第二资源的调用结果,获取所述第二资源被所述第一资源调用时的健康度,包括:对于每个目标周期,基于在所述目标周期内向所述第二资源所在的第二节点发送的至少一个调用请求,接收所述第二节点返回的至少一个调用结果;基于所述至少一个调用结果,统计所述第二资源在所述目标周期内被所述第一资源调用时的健康度指标;根据所述第一资源的资源标识、所述第二资源的资源标识和所统计的第二资源的健康度指标,生成所...

【专利技术属性】
技术研发人员:单家骏王洪智刘少波罗茂政裴泽良
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1