[发明专利]基于Hystrix框架的动态熔断判断方法有效
申请号: | 201711202905.7 | 申请日: | 2017-11-27 |
公开(公告)号: | CN108009075B | 公开(公告)日: | 2018-10-09 |
发明(设计)人: | 王昕;赵文军;吴迎春;刘本中;胡明慧;宋炜伟 | 申请(专利权)人: | 南京联创信息科技有限公司;南京信通科技有限责任公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 戴朝荣 |
地址: | 210036 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 hystrix 框架 动态 熔断 判断 方法 | ||
本发明公开了一种基于Hystrix框架的动态熔断判断方法,通过压力测试得出当前服务业务的最大负载量maxF,通过测试得出不同压力下的业务失败率范围,改造Hystrix框架源码,重写HealthCount类,记录请求运行总数与运行错误总数,重写plus统计方法,记录数据,改造Hystrix框架源码,重写断路器实现类,跟据上一步统计的相关数据计算出服务负载量占最大负载量的百分比,来动态得出熔断失败率算法,最终根据得出的动态失败率来决定是否需要进行熔断。本发明主要对源码中的请求量统计进行重写,记录请求请求的相关统计数,同时对断路器实现部分重写断路状态判断调整算法,以实现动态熔断规则的处理。
技术领域
本发明涉及一种动态熔断判断方法,特别是一种基于Hystrix框架的动态熔断判断方法。
背景技术
由于微服务架构中各个相关微服务需要进行数据交换,所以我们可以做一个假设:假设服务A依赖服务B和服务C,而B服务和C服务有可能继续依赖其他的服务,继续下去会使得调用链路过长,技术上称1->N扇出。如果在A的链路上某个或几个被调用的子服务不可用或延迟较高,则会导致调用A服务的请求被堵住,堵住的请求会消耗占用掉系统的线程、io等资源,当该类请求越来越多,占用的计算机资源越来越多的时候,会导致系统瓶颈出现,造成其他的请求同样不可用,最终导致业务系统崩溃,又称:雪崩效应。
为了解决微服务雪崩效应需要对服务依赖做隔离与熔断,Hystrix就是处理依赖隔离与熔断的开源框架,是目前较为主流的熔断实现方案。在此基础上我们的问题是部分同步数据业务的请求量波动非常大,在同步数据业务请求量达到峰值时会对其他业务造成较大的影响(如数据库IO等瓶颈导致),所以需要根据请求量进行动态失败控制,在请求量较高时10%的失败率就需要进行熔断(失败超时时间设置较短),以保障其他业务的正常使用,而在请求量较低时50%失败率才需要进行熔断。因此需要进行动态的熔断控制。但是Hystrix无法对服务进行动态的熔断控制,只能进行固定的失败率控制。
发明内容
本发明所要解决的技术问题是提供一种基于Hystrix框架的动态熔断判断方法,采用Hystrix框架根据服务请求量动态的调整服务熔断规则。
为解决上述技术问题,本发明所采用的技术方案是:
一种基于Hystrix框架的动态熔断判断方法,其特征在于包含以下步骤:
步骤一:通过压力测试得出当前服务业务的最大负载量maxF;
步骤二:通过测试得出不同压力下的业务失败率范围(最小失败率minErrorPercentage与最大失败率maxErrorPercentage);
步骤三:改造Hystrix框架源码,重写HealthCount类,记录请求运行总数与运行错误总数,重写plus统计方法,记录数据;
步骤四:改造Hystrix框架源码,重写断路器实现类,跟据上一步统计的相关数据计算出服务负载量占最大负载量的百分比,来动态得出熔断失败率算法,最终根据得出的动态失败率来决定是否需要进行熔断。
进一步地,所述步骤一具体为,通过压力测试得出不加熔断功能时当前服务能正常运行同时不影响其他服务时可以承受的最大请求量totalRequests,同时根据统计时间与响应时间计算出最大负载量maxF=totalRequests/(duringTimeInMilliseconds*meanTimeInMilliseconds)。
进一步地,所述步骤二具体为,在最大负载量的压力下测试得出服务的请求失败率,统计出一段时间的最大与最小失败率值,在最后进行动态熔断测试时进行微调以更好的适应具体的环境。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京联创信息科技有限公司;南京信通科技有限责任公司,未经南京联创信息科技有限公司;南京信通科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711202905.7/2.html,转载请声明来源钻瓜专利网。