一种服务降级方法及终端技术

技术编号:30780019 阅读:25 留言:0更新日期:2021-11-16 07:40
本发明专利技术公开了一种服务降级方法及终端,在上游服务中接入降级组件,通过降级组件获取降级规则;当上游服务向下游服务的实例发送访问请求时,使用降级组件统计上游服务访问的失败次数,若失败次数达到预设次数则需要对下游服务的实例进行处理,具体的处理方法是使上游服务停止向下游服务的实例发送访问请求,或者降低上游服务向所述下游服务的实例发送访问请求的速度,因此,即使下游服务因请求过大而导致不稳定时,也能够提供部分服务;同时,当访问的下游服务出现大量问题时,减少对下游服务的请求量,能够为下游服务提供一定的保护能力,从而降低降级服务的压力。从而降低降级服务的压力。从而降低降级服务的压力。

【技术实现步骤摘要】
一种服务降级方法及终端


[0001]本专利技术涉及计算机
,特别涉及一种服务降级方法及终端。

技术介绍

[0002]移动互联网蓬勃发展的今天,发展出来了各种各样的系统应用,而很多的系统又与其他的系统有各种的数据交互。随着用户数量的剧增,服务端需要采用分布式部署的方式来实现横向扩展,以支持大数据用户高并发方式的访问。而微服务的架构方式则是现在通用的服务端实现分布式部署的方法。
[0003]由于微服务之间通过HTTP(Hypertext Transfer Protocol,超文本传输协议)或者RPC(Remote Procedure Call,远程过程调用)等协议进行访问,各种协议访问以及微服务自身都可能存在一些问题,比如网络抖动,微服务压力过大,配置错误等异常问题。通常的服务降级一般都是下游服务实例自身针对服务的功能进行监控,当达到服务的瓶颈时,进行自身服务的有损降级。此时,如客户端的请求量继续增加,则会进一步加强降级服务的压力。

技术实现思路

[0004]本专利技术所要解决的技术问题是:提供一种服务降级方法及终端,能够降低降级服务的压力。
[0005]为了解决上述技术问题,本专利技术采用的技术方案为:
[0006]一种服务降级方法,包括步骤:
[0007]在上游服务中接入降级组件,通过所述降级组件获取降级规则;
[0008]当所述上游服务向下游服务的实例发送访问请求时,使用所述降级组件统计所述上游服务访问失败的次数,若所述访问失败的次数达到所述降级规则中的预设次数,则停止向所述下游服务的实例发送访问请求或者降低向所述下游服务的实例发送访问请求的速度。
[0009]为了解决上述技术问题,本专利技术采用的另一种技术方案为:
[0010]一种服务降级终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0011]在上游服务中接入降级组件,通过所述降级组件获取降级规则;
[0012]当所述上游服务向下游服务的实例发送访问请求时,使用所述降级组件统计所述上游服务访问失败的次数,若所述访问失败的次数达到所述降级规则中的预设次数,则停止向所述下游服务的实例发送访问请求或者降低向所述下游服务的实例发送访问请求的速度。
[0013]本专利技术的有益效果在于:在上游服务中接入降级组件,通过降级组件获取降级规则;当上游服务向下游服务的实例发送访问请求时,使用降级组件统计上游服务访问的失败次数,若失败次数达到预设次数则需要对下游服务的实例进行处理,具体的处理方法是
使上游服务停止向下游服务的实例发送访问请求,或者降低上游服务向所述下游服务的实例发送访问请求的速度,因此,即使下游服务因请求过大而导致不稳定时,也能够提供部分服务;同时,当访问的下游服务出现大量问题时,减少对下游服务的请求量,能够为下游服务提供一定的保护能力,从而降低降级服务的压力。
附图说明
[0014]图1为本专利技术实施例的一种服务降级方法的流程图;
[0015]图2为本专利技术实施例的一种服务降级终端的示意图。
具体实施方式
[0016]为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0017]请参照图1,本专利技术实施例提供了一种服务降级方法,包括步骤:
[0018]在上游服务中接入降级组件,通过所述降级组件获取降级规则;
[0019]当所述上游服务向下游服务的实例发送访问请求时,使用所述降级组件统计所述上游服务访问失败的次数,若所述访问失败的次数达到所述降级规则中的预设次数,则停止向所述下游服务的实例发送访问请求或者降低向所述下游服务的实例发送访问请求的速度。
[0020]从上述描述可知,本专利技术的有益效果在于:在上游服务中接入降级组件,通过降级组件获取降级规则;当上游服务向下游服务的实例发送访问请求时,使用降级组件统计上游服务访问的失败次数,若失败次数达到预设次数则需要对下游服务的实例进行处理,具体的处理方法是使上游服务停止向下游服务的实例发送访问请求,或者降低上游服务向所述下游服务的实例发送访问请求的速度,因此,即使下游服务因请求过大而导致不稳定时,也能够提供部分服务;同时,当访问的下游服务出现大量问题时,减少对下游服务的请求量,能够为下游服务提供一定的保护能力,从而降低降级服务的压力。
[0021]进一步地,通过所述降级组件获取降级规则包括:
[0022]对所述下游服务的降级规则进行配置,通过所述降级组件获取所述降级规则;
[0023]使用所述降级组件统计所述上游服务访问失败的次数包括:
[0024]在所述降级组件中设置异步定时任务,通过所述定时任务获取所述上游服务访问失败的最新次数。
[0025]由上述描述可知,通过降级组件获取可配置的降级规则,并在降级组件中设置异步定时任务,定时获取上游服务访问失败的最新次数,从而提高了降级规则配置的灵活度和获取上游服务访问失败数据的实时性。
[0026]进一步地,若所述访问失败的次数达到所述降级规则中的预设次数,则停止向所述下游服务的实例发送访问请求或者降低向所述下游服务的实例发送访问请求的速度包括:
[0027]若某一实例的所述访问失败的次数达到所述降级规则中的预设次数,则将其标识为异常实例;
[0028]计算所述下游服务中所有实例的已降级占比;
[0029]判断所述已降级占比是否达到预设占比,若是,则降低向所述异常实例发送访问请求的速度,否则,停止向所述异常实例发送访问请求,并将所述异常实例标识为已降级实例。
[0030]由上述描述可知,通过判断下游服务中所有实例的已降级占比是否达到预设占比,选择停止向异常实例发送访问请求或者降低向异常实例发送访问请求的速度,在减少对下游服务请求量的同时,下游服务也能提供部分服务,对下游服务有一定的保护能力。
[0031]进一步地,所述已降级占比达到预设占比之后包括:
[0032]统计所述已降级占比达到预设占比之后的持续时长,若所述时长大于预设时长,则将所述下游服务中的所有未降级实例均标识为已降级实例。
[0033]由上述描述可知,当已降级占比达到预设占比之后的持续时长大于预设时长时,此时下游服务已经完全不可用了,因此将下游服务中的所有未降级实例均标识为已降级实例,能够避免上游服务持续向下游服务端发送请求,减少下游服务的压力。
[0034]进一步地,将所述下游服务中的所有未降级实例均标识为已降级实例之后包括:
[0035]通过所述降级组件定时扫描所述下游服务的已降级实例,判断是否能够成功访问所述已降级实例,若是,则将所述已降级实例标识为正常实例。
[0036]由上述描述可知,当下游服务中的实例均为已降级实例时,定时扫描判断下游服务是否恢复访问,能够及时将恢复实例的已降级实例标识为正常实例,保证降级服务的可靠性。
[0037]请参照本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务降级方法,其特征在于,包括步骤:在上游服务中接入降级组件,通过所述降级组件获取降级规则;当所述上游服务向下游服务的实例发送访问请求时,使用所述降级组件统计所述上游服务访问失败的次数,若所述访问失败的次数达到所述降级规则中的预设次数,则停止向所述下游服务的实例发送访问请求或者降低向所述下游服务的实例发送访问请求的速度。2.根据权利要求1所述的一种服务降级方法,其特征在于,通过所述降级组件获取降级规则包括:对所述下游服务的降级规则进行配置,通过所述降级组件获取所述降级规则;使用所述降级组件统计所述上游服务访问失败的次数包括:在所述降级组件中设置异步定时任务,通过所述定时任务获取所述上游服务访问失败的最新次数。3.根据权利要求1所述的一种服务降级方法,其特征在于,若所述访问失败的次数达到所述降级规则中的预设次数,则停止向所述下游服务的实例发送访问请求或者降低向所述下游服务的实例发送访问请求的速度包括:若某一实例的所述访问失败的次数达到所述降级规则中的预设次数,则将其标识为异常实例;计算所述下游服务中所有实例的已降级占比;判断所述已降级占比是否达到预设占比,若是,则降低向所述异常实例发送访问请求的速度,否则,停止向所述异常实例发送访问请求,并将所述异常实例标识为已降级实例。4.根据权利要求3所述的一种服务降级方法,其特征在于,所述已降级占比达到预设占比之后包括:统计所述已降级占比达到预设占比之后的持续时长,若所述时长大于预设时长,则将所述下游服务中的所有未降级实例均标识为已降级实例。5.根据权利要求4所述的一种服务降级方法,其特征在于,将所述下游服务中的所有未降级实例均标识为已降级实例之后包括:通过所述降级组件定时扫描所述下游服务的已降级实例,判断是否能够成功访问所述已降级实例,若是,则将所述已降级实例标识为正常实例。6.一种服务降级终端,包括存储器、处理器以及存储在所述存储器上并可在...

【专利技术属性】
技术研发人员:刘德建林伟陈宏
申请(专利权)人:福建天泉教育科技有限公司
类型:发明
国别省市:

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

1