[发明专利]一种服务熔断隔离系统和方法有效
申请号: | 201710019216.6 | 申请日: | 2017-01-11 |
公开(公告)号: | CN106776099B | 公开(公告)日: | 2020-01-03 |
发明(设计)人: | 汤泉 | 申请(专利权)人: | 北京皮尔布莱尼软件有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/30 |
代理公司: | 11337 北京市盛峰律师事务所 | 代理人: | 梁艳 |
地址: | 100080 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务 熔断 隔离 系统 方法 | ||
1.一种服务熔断隔离系统,其特征在于,包括:
配置模块,用于熔断参数动态配置;
熔断请求判断模块,用于判断外部请求的服务是否处于熔断状态;
熔断恢复模块,用于异步探测熔断服务是否达到熔断请求的健康阀值,如果是,则对所述熔断服务进行健康恢复;
熔断报警模块,用于发生服务熔断告警提示,并修改内存中的该服务的熔断状态;
熔断健康统计模块,用于根据配置的熔断策略判断是否达到熔断阀值及服务状态报表展示,所述服务状态包括:吞吐、异常比和/或监控状态;
所述熔断请求判断模块,用于判断所述请求的服务是否处于熔断状态,具体为,用无锁Map保存统计数据,所述统计数据以所述请求的URLPath作为key,以原子类类型的错误请求次数、总请求次数、开始时间、是否离线为属性的统计类作为value,在所述统计数据中,若固定时间内的错误请求比率或错误请求次数达到预设的阀值,则判定所述请求的服务处于熔断状态。
2.一种服务熔断隔离方法,其特征在于,包括如下步骤:
S1,服务启动,配置服务加载熔断策略参数,默认为使用本地配置;
S2,外部请求经过网关聚合层到达熔断请求判断模块;
S3,所述熔断请求判断模块判断所述请求的服务是否处于熔断状态,如果是,则执行S4-S5,否则,执行S6-S7;
S4,调用熔断回调函数,并返回回调结果;
S5,异步探测熔断服务是否达到熔断请求的健康阀值,如果是,则对所述熔断服务进行健康恢复并跳至S6,否则,跳至S4;
S6,调用业务方的业务接口返回调用结果;
S7,异步调用熔断健康统计模块,对系统状态进行实时健康统计,并根据配置的熔断策略和统计结果判断所述请求是否达到熔断阀值,如果是,则发生服务熔断告警提示,并修改内存中的该服务的熔断状态,否则,跳至S6;
S3中,所述熔断请求判断模块判断所述请求的服务是否处于熔断状态,具体为,用无锁Map保存统计数据,所述统计数据以所述请求的URLPath作为key,以原子类类型的错误请求次数、总请求次数、开始时间、是否离线为属性的统计类作为value,在所述统计数据中,若固定时间内的错误请求比率或错误请求次数达到预设的阀值,则判定所述请求的服务处于熔断状态;
S5的实际使用过程为:对于被熔断的请求,默认每隔2s多服务探测一次,若连续请求预设的阀值数都正常,则对请求健康恢复。
3.根据权利要求2所述的服务熔断隔离方法,其特征在于,S4中,所述回调结果包括:调用熔断回调函数成功,则返回预设回调结果,否则,发生回调异常告警提示。
4.根据权利要求2所述的服务熔断隔离方法,其特征在于,S5中,所述健康阀值根据统计的历史报表数据进行设置,并进行动态配置。
5.根据权利要求2所述的服务熔断隔离方法,其特征在于,S7中,所述熔断阀值根据统计的历史报表数据进行设置,并进行动态配置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京皮尔布莱尼软件有限公司,未经北京皮尔布莱尼软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710019216.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:触摸屏保护方法及移动终端
- 下一篇:一种存储器数据分层校验方法