【技术实现步骤摘要】
服务熔断方法和装置、存储介质及电子设备
本专利技术涉及计算机网络领域,具体而言,涉及一种服务熔断方法和装置、存储介质及电子设备。
技术介绍
现有技术中,在使用上游服务调用下游服务的过程中,如果下游服务不可用,会影响到上游服务,引起上游服务重复调用下游服务,进而导致系统崩溃。而现有技术中,在下游服务不可用时,并未根据具体的不可用场景对下游服务进行熔断处理。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种服务熔断方法和装置、存储介质及电子设备,以至少解决下游服务不可用时,不能灵活对下游服务进行熔断处理的技术问题。根据本专利技术实施例的一个方面,提供了一种服务熔断方法,包括:在上游服务访问下游服务时,获取上述下游服务中待访问的当前服务;获取为上述当前服务预先配置的熔断类型,其中,上述熔断类型包括服务熔断、实例熔断和调用接口熔断,每一个服务包括一个或多个实例,每一个上述实例包括一个或多个调用接口;按照与上述熔断类型匹配的熔断处理方式,对上述当前服务进行熔断处理。根据本专利技术实施例的另一方面,还提供了一种服务熔断装置,包括:第一获取单元,用于在上游服务访问下游服务时,获取上述下游服务中待访问的当前服务;第二获取单元,用于获取为上述当前服务预先配置的熔断类型,其中,上述熔断类型包括服务熔断、实例熔断和调用接口熔断,每一个服务包括一个或多个实例,每一个上述实例包括一个或多个调用接口;处理单元,用于按照与上述熔断类型匹配的熔断处理方式,对上述 ...
【技术保护点】
1.一种服务熔断方法,其特征在于,包括:/n在上游服务访问下游服务时,获取所述下游服务中待访问的当前服务;/n获取为所述当前服务预先配置的熔断类型,其中,所述熔断类型包括服务熔断、实例熔断和调用接口熔断,每一个服务包括一个或多个实例,每一个所述实例包括一个或多个调用接口;/n按照与所述熔断类型匹配的熔断处理方式,对所述当前服务进行熔断处理。/n
【技术特征摘要】
1.一种服务熔断方法,其特征在于,包括:
在上游服务访问下游服务时,获取所述下游服务中待访问的当前服务;
获取为所述当前服务预先配置的熔断类型,其中,所述熔断类型包括服务熔断、实例熔断和调用接口熔断,每一个服务包括一个或多个实例,每一个所述实例包括一个或多个调用接口;
按照与所述熔断类型匹配的熔断处理方式,对所述当前服务进行熔断处理。
2.根据权利要求1所述的方法,其特征在于,所述按照与所述熔断类型匹配的熔断处理方式,对所述当前服务进行熔断处理包括:
在所述当前服务的熔断类型为所述服务熔断的情况下,获取所述当前服务的第一访问失败比例,在所述第一访问失败比例大于第一阈值的情况下,将所述当前服务设置为禁止访问;
在所述当前服务的熔断类型为所述实例熔断的情况下,获取所述当前服务的每一个实例的第二访问失败比例,将大于第二阈值的所述第二访问失败比例对应的所述当前服务的实例设置为禁止访问;
在所述当前服务的熔断类型为所述调用接口熔断的情况下,获取所述当前服务的每一个调用接口的第三访问失败比例,将大于第三阈值的所述第三访问失败比例对应的所述当前服务的调用接口设置为禁止访问。
3.根据权利要求2所述的方法,其特征在于,
所述在所述当前服务的熔断类型为服务熔断的情况下,获取所述当前服务的第一访问失败比例包括:获取访问所述当前服务的第一访问请求的第一数量和所述第一访问请求中未成功访问的请求的第二数量,将所述第二数量与所述第一数量的比值确定为所述第一访问失败比例;
所述在所述当前服务的熔断类型为实例熔断的情况下,获取所述当前服务的每一个实例的第二访问失败比例包括:将所述当前服务的每一个实例确定为当前实例,对所述当前实例执行如下操作:获取访问所述当前实例的第二访问请求的第三数量和所述第二访问请求中未成功访问的请求的第四数量,将所述第四数量与所述第三数量的比值确定为所述第二访问失败比例;
所述在所述当前服务的熔断类型为调用接口熔断的情况下,获取所述当前服务的每一个调用接口的第三访问失败比例包括:将所述当前服务的每一个调用接口确定为当前调用接口,对所述当前调用接口执行如下操作:获取访问所述当前调用接口的第三访问请求的第五数量和所述第三访问请求中未成功访问的请求的第六数量,将所述第六数量与所述第五数量的比值确定为所述第三访问失败比例。
4.根据权利要求3所述的方法,其特征在于,
获取访问所述当前服务的第一访问请求中未成功访问的请求的第二数量包括:将所述第一访问请求中,被确定为错误访问的访问请求的数量确定为所述第二数量,或者将所述第一访问请求中,成功访问但响应时长超过第一预定时长的请求的数量确定为所述第二数量;
获取访问所述当前服务的第二访问请求中未成功访问的请求的第四数量包括:将所述第二访问请求中,被确定为错误访问的访问请求的数量确定为所述第四数量,或者将所述第二访问请求中,成功访问但响应时长超过第二预定时长的请求的数量确定为所述第四数量;
获取访问所述当前调用接口的第三访问请求中未成功访问的请求的第六数量包括:将所述第三访问请求中,被确定为错误访问的访问请求的数量确定为所述第六数量,或者将所述第三访问请求中,成功访问但响应时长超过第三预定时长的请求的数量确定为所述第六数量。
5.根据权利要求2所述的方法,其特征在于,在将大于所述第二阈值的所述第二访问失败比例对应的所述当前服务的实例设置为禁止访问时,所述方法还包括:
在所述当前服务的所有实例中,被禁止访问的实例的比例大于第四阈值的情况下,将被禁止访问的所述实例中的一个或多个目标实例设置为允许访问,以使所述比例小于或等于所述第四阈值。
6.根据权利要求5所述的方法,其特征在于,所述在所述当前服务的所有实例中,被禁止访问的实例的比例大于第四阈值的情况下,将被禁止访问的所述实例中的一个或多个目标实例设置为允许访问包括:
执行如下操作,直到所述比例小于或等于所述第四阈值:
将所述当前服务的被禁止访问的实例中,第二访问失败比例最小的实例设置为允许访问,其中,所述第二访问失败比例为访问所述实例的第二访问请求中,未成功访问的请求的第四数量和访问所述实例的所述第二访问请求的第三数量的比值;
比对所述比例和所述第四阈值。
7.根据权利要求2所述的方法,其特征在于,在将所述当前服务设置为禁止访问或者将所述当前服务中的第一实例设置为禁止访问或者将所述当前服务中的第一调用接口设置为禁止访问之后,所述方法还包括:
在经过预定时长的情况下,将被设置为禁止访问的所述当前服务或所述第一实例或所述第一调用接口设置为半允许访问状态,其中,所述当前服务或所述第一实例或所述第一调用接口在所述半允许访问状态下被允许访问;
在所述半允许访问状态下,获取访问所述当前服务或所述第一实例或所述第一调用接口的第四访问请求;
响应所述第四访问请求中的预定比例的访问请求,访问所述当前...
【专利技术属性】
技术研发人员:张培培,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。