服务降级动态实现方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:29464871 阅读:16 留言:0更新日期:2021-07-27 17:50
本申请实施例属于软件监控领域,涉及一种服务降级动态实现方法,包括:接收服务降级消息;响应所述服务降级消息,从预设的降级插件中的降级容器中获取降级逻辑;调用预设的动态编译器,将所述降级逻辑进行动态编译,生成降级类;运行所述降级类,实现服务降级。降级逻辑保存在降级容器中,降级逻辑代码与核心业务代码解耦,降级逻辑接口化,版本化,可以做到降级逻辑的复用,以及版本切换。同时通过对降级容器中降级逻辑的动态化配置可以根据业务逻辑实时切换降级逻辑,从而满足业务需要。解决了现有降级方案不能动态切换,以及不能满足业务时效的不足。本申请还提供一种服务降级动态实现装置、计算机设备及存储介质。

【技术实现步骤摘要】
服务降级动态实现方法、装置、计算机设备及存储介质
本申请涉及软件监控
,尤其涉及服务降级动态实现方法、装置、计算机设备及存储介质。
技术介绍
微服务架构是一种新兴的软件架构风格,通过开发一些微小服务的方式构成完整的应用系统。服务降级,是服务器压力增加的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。当前的远程调用框架dubbo(开源分布式服务框架),或者微服务治理框架Hystrix都提供了对应的服务降级逻辑,旨在服务调用出现问题的时候,去调用降级的方法。现有的降级逻辑通常通过硬编码的方式包含在核心业务代码中,不能动态的去适配业务的需求,当需要变更降级逻辑时,需要进行业务代码编写、编译和版本发布的整个过程,耗时长。
技术实现思路
本申请实施例的目的在于提出一种服务降级动态实现方法、装置、计算机设备及存储介质,以解决服务降级逻辑动态变更耗时长的问题。为了解决上述技术问题,本申请实施例提供一种服务降级动态实现方法,采用了如下所述的技术方案:接收服务降级消息;响应所述服务降级消息,从预设的降级插件中的降级容器中获取降级逻辑;调用预设的动态编译器,将所述降级逻辑进行动态编译,生成降级类;运行所述降级类,实现服务降级。进一步的,在所述接收服务降级消息的步骤中还包括:接收服务请求目标的返回数据;解析所述返回数据,获得所述请求目标的状态参数;将所述状态参数与预设的服务降级条件比较,当所述状态参数与所述服务降级条件一致时,触发服务降级消息。进一步的,所述预设的服务降级条件包含N条服务降级规则,且每条服务降级规则与请求目标的状态参数预设匹配关系,在将所述状态参数与预设的服务降级条件比较,当所述状态参数与所述服务降级条件一致时,触发服务降级消息的步骤中包括:将所述状态参数与预设的服务降级条件比较,获得与所述状态参数相匹配的服务降级规则;解析服务降级规则中的降级逻辑参数,将所述降级逻辑参数写入服务降级消息;触发包含所述降级逻辑参数的服务降级消息。进一步的,所述服务降级消息中包含接口信息,所述响应所述服务降级消息,从预设的降级插件中的降级容器中获取降级逻辑的步骤具体包括:根据所述接口信息,从所述降级容器中获取与所述接口信息相对应的降级逻辑。进一步的,在所述响应所述服务降级消息,从预设的降级插件中的降级容器中获取降级逻辑的步骤之前还包括:接收预设的降级逻辑配置中心发送的配置变更通知;响应所述配置变更通知,调用同步线程,将所述降级逻辑配置中心的配置变更同步到所述降级容器。进一步的,所述配置变更通知中包含更新的降级逻辑对应的接口,在所述接收预设的降级逻辑配置中心发送的配置变更通知的步骤中还包括:解析所述配置变更通知,获得所述更新的降级逻辑对应的接口;调用同步线程,根据所述接口将所述更新的降级逻辑同步到所述降级容器中。进一步的,所述配置变更通知中还包含更新的降级逻辑的更新版本信息,在所述接收预设的降级逻辑配置中心发送的配置变更通知的步骤中还包括:解析所述配置变更通知,获得所述更新的降级逻辑的更新版本信息;根据所述接口,读取所述降级容器中与所述接口对应的降级逻辑的当前版本信息;将所述更新版本信息与所述当前版本信息比较,当两者不一致时,调用同步线程,根据所述接口将所述更新的降级逻辑同步到所述降级容器中。为了解决上述技术问题,本申请实施例还提供一种服务降级动态实现装置,采用了如下所述的技术方案:接收模块,用于接收服务降级消息;获取模块,用于响应所述服务降级指令,从预设的降级插件中的降级容器中获取降级逻辑;编译模块,用于调用预设的动态编译器,将所述降级逻辑进行动态编译,生成降级类;运行模块,用于运行所述降级类,实现服务降级。进一步的,所述接收模块中还包括:第一接收子模块,用于接收服务请求目标的返回数据;第一解析子模块,用于解析所述返回数据,获得所述请求目标的状态参数;第一触发子模块,用于将所述状态参数与预设的服务降级条件比较,当所述状态参数与所述服务降级条件一致时,触发服务降级消息。进一步的,所述预设的服务降级条件包含N条服务降级规则,且每条服务降级规则与请求目标的状态参数预设匹配关系,所述第一触发子模块包括:第一比较子单元,用于将所述状态参数与预设的服务降级条件比较,获得与所述状态参数相匹配的服务降级规则;第一解析子单元,用于解析服务降级规则中的降级逻辑参数,将所述降级逻辑参数写入服务降级消息;第一触发子单元,用于触发包含所述降级逻辑参数的服务降级消息。进一步的,所述服务降级消息中包含接口信息,所述获取模块中包括:第一获取子模块,用于根据所述接口信息,从所述降级容器中获取与所述接口信息相对应的降级逻辑。进一步的,所述服务降级动态实现装置还包括:第二接收子模块,用于接收预设的降级逻辑配置中心发送的配置变更通知;第一同步子模块,用于响应所述配置变更通知,调用同步线程,将所述降级逻辑配置中心的配置变更同步到所述降级容器。进一步的,所述第二接收子模块还包括:第二解析子单元,用于解析所述配置变更通知,获得所述更新的降级逻辑对应的接口;第一同步子单元,用于调用同步线程,根据所述接口将所述更新的降级逻辑同步到所述降级容器中。进一步的,所述配置变更通知中还包含更新的降级逻辑的更新版本信息,所述第二接收子模块还包括:第三解析子单元,用于解析所述配置变更通知,获得所述更新的降级逻辑的更新版本信息;第一读取子单元,用于根据所述接口,读取所述降级容器中与所述接口对应的降级逻辑的当前版本信息;第二同步子单元,用于将所述更新版本信息与所述当前版本信息比较,当两者不一致时,调用同步线程,根据所述接口将所述更新的降级逻辑同步到所述降级容器中。为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,处理器执行计算机可读指令时实现如上述服务降级动态实现方法的步骤。为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:一种计算机可读存储介质,计算机可读存储介质上存储有计算机可读指令,计算机可读指令被处理器执行时实现如上述服务降级动态实现方法的步骤。与现有技术相比,本申请实施例主要有以下有益效果:通过接收服务降级消息;响应所述服务降级消息,从预设的降级插件中的降级容器中获取降级逻辑;调用预设的动态编译器,将所述降级逻辑进行动态编译,生成降级类;运行所述降级类,实现服务降级。降级逻辑保存在降级容器中,降级逻辑代码与核心业务代码解耦,降级逻辑接口化,版本化,可以做到降级逻辑的复用,以及版本切换本文档来自技高网...

【技术保护点】
1.一种服务降级动态实现方法,其特征在于,包括下述步骤:/n接收服务降级消息;/n响应所述服务降级消息,从预设的降级插件中的降级容器中获取降级逻辑;/n调用预设的动态编译器,将所述降级逻辑进行动态编译,生成降级类;/n运行所述降级类,实现服务降级。/n

【技术特征摘要】
1.一种服务降级动态实现方法,其特征在于,包括下述步骤:
接收服务降级消息;
响应所述服务降级消息,从预设的降级插件中的降级容器中获取降级逻辑;
调用预设的动态编译器,将所述降级逻辑进行动态编译,生成降级类;
运行所述降级类,实现服务降级。


2.根据权利要求1所述的服务降级动态实现方法,其特征在于,在所述接收服务降级消息的步骤中还包括:
接收服务请求目标的返回数据;
解析所述返回数据,获得所述请求目标的状态参数;
将所述状态参数与预设的服务降级条件比较,当所述状态参数与所述服务降级条件一致时,触发服务降级消息。


3.根据权利要求2所述的服务降级动态实现方法,其特征在于,所述预设的服务降级条件包含N条服务降级规则,且每条服务降级规则与请求目标的状态参数预设匹配关系,在将所述状态参数与预设的服务降级条件比较,当所述状态参数与所述服务降级条件一致时,触发服务降级消息的步骤中包括:
将所述状态参数与预设的服务降级条件比较,获得与所述状态参数相匹配的服务降级规则;
解析服务降级规则中的降级逻辑参数,将所述降级逻辑参数写入服务降级消息;
触发包含所述降级逻辑参数的服务降级消息。


4.根据权利要求1所述的服务降级动态实现方法,其特征在于,所述服务降级消息中包含接口信息,所述响应所述服务降级消息,从预设的降级插件中的降级容器中获取降级逻辑的步骤具体包括:
根据所述接口信息,从所述降级容器中获取与所述接口信息相对应的降级逻辑。


5.根据权利要求1所述的服务降级动态实现方法,其特征在于,在所述响应所述服务降级消息,从预设的降级插件中的降级容器中获取降级逻辑的步骤之前还包括:
接收预设的降级逻辑配置中心发送的配置变更通知;
响应所述配置变更通知,调用...

【专利技术属性】
技术研发人员:魏梦召
申请(专利权)人:深圳平安智汇企业信息管理有限公司
类型:发明
国别省市:广东;44

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

1