[发明专利]基于Golang语言的熔断处理方法、装置、设备、介质及产品在审
申请号: | 202310066341.8 | 申请日: | 2023-01-12 |
公开(公告)号: | CN116126556A | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 单赟吉;马丽萍 | 申请(专利权)人: | 北京淘友天下技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/445;G06F8/30 |
代理公司: | 北京市立方律师事务所 11330 | 代理人: | 张筱宁 |
地址: | 100083 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 golang 语言 熔断 处理 方法 装置 设备 介质 产品 | ||
1.一种基于Golang语言的熔断处理方法,其特征在于,所述方法包括:
从预先创建的多个熔断组件中确定目标熔断组件,每个熔断组件用于执行一种熔断策略,所述熔断策略用于表征不同熔断状态间的切换规则;所有的熔断组件是基于统一的Golang接口实现的;
响应于针对预设远程服务的调用指令,确定所述预设远程服务的当前熔断状态;
根据当前熔断状态发起调用,并根据当前熔断状态、调用结果以及所述目标熔断组件执行的目标熔断策略判断是否切换当前熔断状态。
2.根据权利要求1所述的方法,其特征在于,不同的熔断策略依据不同类型的参数表征所述不同熔断状态间的切换规则;
其中,所述目标熔断组件执行的目标熔断策略,对应的目标类型的参数为以下任一种:响应时长、设备运行数据、响应结果、预设时间内的响应结果。
3.根据权利要求2所述的方法,其特征在于,所述当前熔断状态为关闭状态;所述根据当前熔断状态发起调用,并根据当前熔断状态、调用结果以及所述目标熔断组件执行的目标熔断策略判断是否切换当前熔断状态,包括:
向所述预设远程服务发起远程调用,并根据所述目标类型的参数确定调用结果,所述调用结果用于指示所述目标类型的参数是否匹配第一参数值;
若确定所述调用结果触发所述目标熔断策略中的第一切换规则,则将所述当前熔断状态由所述关闭状态切换至开启状态;所述第一切换规则包括:所述目标类型的参数匹配第一参数值,或者所述目标类型的参数匹配第一参数值的累计次数达到第一预设次数。
4.根据权利要求2所述的方法,其特征在于,所述当前熔断状态为半开启状态,所述根据当前熔断状态发起调用,并根据当前熔断状态、调用结果以及所述目标熔断组件执行的目标熔断策略判断是否切换当前熔断状态,包括:
向所述预设远程服务发起远程调用,并根据所述目标类型的参数确定调用结果,所述调用结果用于指示所述目标类型的参数是否匹配第二参数值;
若确定所述调用结果触发所述目标熔断策略中的第二切换规则,则将所述当前熔断状态由所述半开启状态切换至开启状态;所述第二切换规则包括:所述目标类型的参数匹配所述第二参数值,或者所述目标类型的参数匹配第二参数值的累计次数达到第二预设次数;
若确定所述调用结果触发所述目标熔断策略中的第三切换规则,则将所述当前熔断状态由所述半开启状态切换至关闭状态;所述第三切换规则包括:所述目标类型的参数不匹配第二参数值,或者所述目标类型的参数不匹配第二参数值的累计次数达到第三预设次数。
5.根据权利要求2所述的方法,其特征在于,所述当前熔断状态为开启状态;所述根据当前熔断状态发起调用,并根据当前熔断状态、调用结果以及所述目标熔断组件执行的目标熔断策略判断是否切换当前熔断状态,包括:
向与所述预设远程服务相适配的兜底服务发起调用,以便拦截对所述预设远程服务的调用;所述兜底服务为本地服务;
将当前的累计拦截时间和/或累计拦截次数作为所述调用结果;
若确定所述调用结果触发所述目标熔断策略中的第四切换规则,则将所述当前熔断状态由所述开启状态切换至半开启状态;所述第四切换规则包括:所述累计拦截时间不小于预设拦截时间阈值,和/或,所述累计拦截次数不小于预设拦截次数阈值。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述目标熔断组件的创建过程包括:
通过Golang接口定义所述目标熔断策略相应的逻辑代码,所述逻辑代码中包括缺省部位;
将所述目标熔断策略所依据的目标类型的参数对应的切换条件输入所述缺省部位;
通过编译操作得到所述目标熔断组件。
7.根据权利要求1-5任一项所述的方法,其特征在于,响应于针对预设远程服务的调用指令,所述方法包括:
设置预设数量的采集窗口,所述采集窗口的时间长度为预设单位时长;
通过所述预设数量的采集窗口采集所述调用指令的响应结果,以便为各熔断状态间的切换提供数据依据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京淘友天下技术有限公司,未经北京淘友天下技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310066341.8/1.html,转载请声明来源钻瓜专利网。