一种防御微服务雪崩效应的方法技术

技术编号:19067344 阅读:273 留言:0更新日期:2018-09-29 14:43
本发明专利技术涉及云平台微服务技术领域,特别是一种防御微服务雪崩效应的方法。本发明专利技术方法包括如下步骤:1:设置负载均衡权重调度规则,支持对微服务优先级的升降;2:设置熔断机制;3:微服务异常时启动熔断机制;4:微服务失败时启动负载均衡权重调度规则;5:微服务恢复时关闭熔断机制;6:微服务恢复时启动负载均衡默认调度规则。本发明专利技术解决了微服务雪崩效应带来系统瓶颈、甚至整个平台崩溃等问题;可应用于云平台的微服务管理。

【技术实现步骤摘要】
一种防御微服务雪崩效应的方法
本专利技术涉及云平台微服务
,特别是一种防御微服务雪崩效应的方法。
技术介绍
一般的云计算平台上有数量庞大的服务程序,而每个计算节点或控制节点上可能存在多个正在运行的微服务程序;而计算节点也运行着多个虚拟机。每个虚拟机上同样都可能运行了一个或多个微服务程序。由于许多虚拟机的微服务程序可能都可能交叉调用,此时若一个微服务出现异常超时,请求会消耗占用系统的线程、IO等资源。当该类请求越来越多,占用的计算机资源也越来越多;会导致系统瓶颈出现,造成其他微服务的请求同样不可用;最终导致整个平台崩溃。
技术实现思路
本专利技术提供一种防御微服务雪崩效应的方法,解决上述现有技术问题;支持熔断机制并且支持动态负载均衡调度、避免出现系统瓶颈的方式,有效降低服务异常时给系统带来的资源消耗,能够防御微服务雪崩效应。本专利技术解决上述现有技术问题的技术方案是:所述的方法包括如下步骤:步骤1:设置负载均衡权重调度规则,支持对微服务优先级的升降;步骤2:设置熔断机制;即微服务自身调用其他特定微服务异常次数的单位时间、阈值和错误信息;步骤3:微服务异常时启动熔断机制;即异常达到阈值时微服务熔断调用特定微服务的请求,并返回错误信息;步骤4:微服务失败时启动负载均衡权重调度规则;在单位时间内将微服务优先级降低;步骤5:微服务恢复时关闭熔断机制;指微服务自身请求特定微服务恢复正常,此时关闭熔断机制,正常请求特定微服务;步骤6:微服务恢复时启动负载均衡默认调度规则。所述的负载均衡是指将用户请求分摊到多个微服务上进行执行,从而共同完成工作任务,快速响应用户请求;默认调度规则是最佳响应时间规则;所述的权重调度规则,是指单位时间内失败次数超过阈值的微服务优先级降到最低,然后再按照最佳响应时间规则选择其他优先级更高的微服务;单位时间可以设置,默认是5分钟,阈值默认是20次;所述的最佳响应时间规则,是指根据同一个优先级各个微服务响应时间排序,优先发送请求给响应时间最快的微服务。所述的设置熔断机制的微服务异常次数的单位时间和阈值,是指单位时间内响应超时或通信异常次数超过阈值,默认单位时间为5秒,阈值为20个请求。所述的熔断调用,是指将微服务降级,不再向特定微服务发送请求;并且所有请求直接返回调用失败的错误信息。所述的步骤6中,负载均衡在单位时间之后,重新选择刚恢复的微服务,统计微服务请求失败次数在单位时间内已经不满足阈值,提升微服务优先级;当所有微服务优先级一致的时候,调整负载均衡规则为默认调度规则,即最佳响应时间规则,再次平衡各个微服务的负载。本专利技术通过一种防御微服务雪崩效应的方法,解决了微服务雪崩效应带来系统瓶颈、甚至整个平台崩溃等问题。本专利技术防御微服务雪崩效应的方法,是通过熔断机制去实现,区别于其他的方法。本专利技术提供方法是优化负载均衡的规则,提供支持动态调整调度规则,支持对微服务优先级的升降,保证熔断机制出现后微服务能够提供高可用高成功率,区别于不支持微服务优先级升降的负载均衡的方法。本专利技术通过熔断加上负载均衡的方式,既可以避免由于服务器出现熔断机制快速响应从而导致该微服务反而收到更多请求导致请求高失败率的问题,又可以等到服务异常恢复情况下重新提供服务调用。本专利技术方法通过优化传统的负载均衡服务,及时发现微服务出现熔断机制,快速动态调整规则,提高微服务的调用成功率。附图说明下面结合附图对本专利技术进一步说明:图1为本专利技术流程图。具体实施方式本专利技术的实施方式有多种,这里以云平台为例说明其中一种实现方法,流程图如图1所示,具体实施过程如下1、设置负载均衡权重调度规则,代码如下:负载均衡是指用户请求分摊到多个微服务上进行执行,从而共同完成工作任务,快速响应用户请求;默认调度规则是最佳响应时间规则。权重调度规则,是指单位时间内失败次数超过阈值的微服务优先级降到最低,然后再按照最佳响应时间规则选择其他优先级更高的微服务;单位时间可以设置,默认是5分钟,阈值默认是20次;最佳响应时间规则,是指根据同一个优先级各个微服务响应时间排序,优先发送请求给响应时间最快的微服务。2、设置熔断机制,代码如下:设置熔断机制,是指设置一个微服务自身调用其他特定微服务的异常次数的单位时间、阈值和错误信息;微服务异常次数的单位时间和阈值,是指单位时间内响应超时或通信异常次数超过阈值,默认单位时间为5秒,阈值为20个请求。3、微服务异常时启动熔断机制,代码如下:微服务异常时启动熔断机制,是指一个微服务自身调用其他特定微服务异常次数在单位时间内达到阈值,微服务自身就会熔断调用这个特定微服务的请求,并返回错误信息;熔断调用,是指将微服务降级,不再向特定微服务发送请求;并且所有请求直接返回调用失败的错误信息。4、微服务失败时启动负载均衡权重调度规则,伪代码如下:微服务失败时启动负载均衡权重调度规则,是指负载均衡根据微服务失败次数在单位时间内满足阈值的情况下,启动权重调度规则;在单位时间内将微服务优先级降低,提高请求成功率。5、微服务恢复时关闭熔断机制,代码如下:微服务恢复时关闭熔断机制,是指微服务自身请求特定微服务恢复正常,此时关闭熔断机制,正常请求特定微服务。6、微服务恢复时启动负载均衡默认调度规则微服务恢复时启动负载均衡默认调度规则,负载均衡在单位时间之后,重新选择刚恢复的微服务,统计微服务请求失败次数在单位时间内已经不满足阈值,提升微服务优先级;当所有微服务优先级一致的时候,调整负载均衡规则为默认调度规则,即最佳响应时间规则,再次平衡各个微服务的负载。整个流程结束。本文档来自技高网...

【技术保护点】
1.一种防御微服务雪崩效应的方法,其特征在于:所述的方法包括如下步骤:步骤1:设置负载均衡权重调度规则,支持对微服务优先级的升降;步骤2:设置熔断机制;即微服务自身调用其他特定微服务异常次数的单位时间、阈值和错误信息;步骤3:微服务异常时启动熔断机制;即异常达到阈值时微服务熔断调用特定微服务的请求,并返回错误信息;步骤4:微服务失败时启动负载均衡权重调度规则;在单位时间内将微服务优先级降低;步骤5:微服务恢复时关闭熔断机制;指微服务自身请求特定微服务恢复正常,此时关闭熔断机制,正常请求特定微服务;步骤6:微服务恢复时启动负载均衡默认调度规则。

【技术特征摘要】
1.一种防御微服务雪崩效应的方法,其特征在于:所述的方法包括如下步骤:步骤1:设置负载均衡权重调度规则,支持对微服务优先级的升降;步骤2:设置熔断机制;即微服务自身调用其他特定微服务异常次数的单位时间、阈值和错误信息;步骤3:微服务异常时启动熔断机制;即异常达到阈值时微服务熔断调用特定微服务的请求,并返回错误信息;步骤4:微服务失败时启动负载均衡权重调度规则;在单位时间内将微服务优先级降低;步骤5:微服务恢复时关闭熔断机制;指微服务自身请求特定微服务恢复正常,此时关闭熔断机制,正常请求特定微服务;步骤6:微服务恢复时启动负载均衡默认调度规则。2.根据权利要求1所述的方法,其特征在于:所述的负载均衡是指将用户请求分摊到多个微服务上进行执行,从而共同完成工作任务,快速响应用户请求;默认调度规则是最佳响应时间规则;所述的权重调度规则,是指单位时间内失败次数超过阈值的微服务优先级降到最低,然后再按照最佳响应时间规则选择其他优先级更高的微服务;单位时间可以设置,默认是5分钟,阈值默认是20次;所述的最佳响应时间规则,是指根据同一个优先级各个微服务响应时间排序,优先发送请求给响应时间最快的微服务。3.根据权利要求1所述的方法,其特征在于...

【专利技术属性】
技术研发人员:马桂成季统凯
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:广东,44

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

1