[发明专利]基于Golang语言的熔断处理方法、装置、设备、介质及产品在审
申请号: | 202310066341.8 | 申请日: | 2023-01-12 |
公开(公告)号: | CN116126556A | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 单赟吉;马丽萍 | 申请(专利权)人: | 北京淘友天下技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/445;G06F8/30 |
代理公司: | 北京市立方律师事务所 11330 | 代理人: | 张筱宁 |
地址: | 100083 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 golang 语言 熔断 处理 方法 装置 设备 介质 产品 | ||
本申请实施例提供了一种基于Golang语言的熔断处理方法、装置、设备、介质及产品,涉及Golang开发领域。该方法包括:从预先创建的多个熔断组件中确定目标熔断组件,每个熔断组件用于执行一种熔断策略,熔断策略用于表征不同熔断状态间的切换规则;所有的熔断组件是基于统一的Golang接口实现的;响应于针对预设远程服务的调用指令,确定预设远程服务的当前熔断状态;根据当前熔断状态发起调用,并根据当前熔断状态、调用结果以及目标熔断组件执行的目标熔断策略判断是否切换当前熔断状态。本申请实施例满足了基于Golang语言的多个场景下的熔断业务需求。
技术领域
本申请涉及Golang开发领域,具体而言,本申请涉及一种基于Golang语言的熔断处理方法、装置、设备、介质及产品。
背景技术
在基于Golang语言的RPC(Remote Procedure Call,远程服务调用)场景中,若下游依赖(可理解为一种远程服务)出现响应故障,在上游接口处需执行超时等待才能进行返回处理,这将导致整体运行时延增加;若下游依赖出现异常故障,在上游接口处未做好兼容处理,导致故障逐层上报最终影响用户体验;若下游资源紧张以致不足以快速响应上游请求,且在上游接口处依旧发送大量请求,这将导致下游依赖不堪重负。
目前,针对下游依赖出现的上述各种问题,一般的处理方式为超时处理,但该方式处理效率比较低下;比较高效的处理方式有熔断器处理,虽然该方式相较于超时处理有诸多优点,但是现有的熔断器一般采用固定的策略,不能适应需求或者场景的变化。
发明内容
为了解决上述技术问题之一,本申请实施例提供了一种基于Golang语言的熔断处理方法、装置、设备、介质及产品。
一方面,本申请实施例提供了一种基于Golang语言的熔断处理方法,该方法包括:
从预先创建的多个熔断组件中确定目标熔断组件,每个熔断组件用于执行一种熔断策略,熔断策略用于表征不同熔断状态间的切换规则;所有的熔断组件是基于统一的Golang接口实现的;响应于针对预设远程服务的调用指令,确定预设远程服务的当前熔断状态;根据当前熔断状态发起调用,并根据当前熔断状态、调用结果以及目标熔断组件执行的目标熔断策略判断是否切换当前熔断状态。
可选的,不同的熔断策略依据不同类型的参数表征不同熔断状态间的切换规则;其中,目标熔断组件执行的目标熔断策略,对应的目标类型的参数为以下任一种:响应时长、设备运行数据、响应结果、预设时间内的响应结果。
可选的,当前熔断状态为关闭状态;根据当前熔断状态发起调用,并根据当前熔断状态、调用结果以及目标熔断组件执行的目标熔断策略判断是否切换当前熔断状态,包括:
向预设远程服务发起远程调用,并根据目标类型的参数确定调用结果,调用结果用于指示目标类型的参数是否匹配第一参数值;若确定调用结果触发目标熔断策略中的第一切换规则,则将当前熔断状态由关闭状态切换至开启状态;第一切换规则包括:目标类型的参数匹配第一参数值,或者目标类型的参数匹配第一参数值的累计次数达到第一预设次数。
可选的,当前熔断状态为半开启状态,根据当前熔断状态发起调用,并根据当前熔断状态、调用结果以及目标熔断组件执行的目标熔断策略判断是否切换当前熔断状态,具体包括:
向预设远程服务发起远程调用,并根据目标类型的参数确定调用结果,调用结果用于指示目标类型的参数是否匹配第二参数值;若确定调用结果触发目标熔断策略中的第二切换规则,则将当前熔断状态由半开启状态切换至开启状态;第二切换规则包括:目标类型的参数匹配第二参数值,或者目标类型的参数匹配第二参数值的累计次数达到第二预设次数;若确定调用结果触发目标熔断策略中的第三切换规则,则将当前熔断状态由半开启状态切换至关闭状态;第三切换规则包括:目标类型的参数不匹配第二参数值,或者目标类型的参数不匹配第二参数值的累计次数达到第三预设次数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京淘友天下技术有限公司,未经北京淘友天下技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310066341.8/2.html,转载请声明来源钻瓜专利网。