CN110737567A - 基于缓存的服务端接口熔断方法及装置 - Google Patents
基于缓存的服务端接口熔断方法及装置 Download PDFInfo
- Publication number
- CN110737567A CN110737567A CN201910986371.4A CN201910986371A CN110737567A CN 110737567 A CN110737567 A CN 110737567A CN 201910986371 A CN201910986371 A CN 201910986371A CN 110737567 A CN110737567 A CN 110737567A
- Authority
- CN
- China
- Prior art keywords
- interface
- fusing
- fuse
- request
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种基于缓存的服务端接口熔断方法及装置,方法包括:接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率;根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作;本申请能够有效结合接口缓存方式,保障服务器信息反馈能力,从而提升数据交互的顺畅、可靠和用户体验。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种基于缓存的服务端接口熔断方法及装置。
背景技术
目前接口熔断器的设计主要以接口熔断功能为主,其主要设计目的是防止接口依赖的各种服务出现故障时发生雪崩效应,例如当上游接口出现延迟时,下游的接口会因为上游接口响应迟缓而无法快速响应请求,这样的影响会逐渐累积最终导致整个服务体系崩溃,为了防止这一问题的出现,接口熔断器在发现上游接口无法提供稳定服务时会将请求链路切断,切断后下游接口就不会被上游服务的异常所影响,但整个服务的完整性也受到了破坏,传统熔断器会导致服务全部或部分不可用,这一情况是现在大多数提供24小时高稳定服务的应用所不能接受的。
发明内容
针对现有技术中的问题,本申请提供一种基于缓存的服务端接口熔断方法及装置,能够有效结合接口缓存方式,保障服务器信息反馈能力,从而提升数据交互的顺畅、可靠和用户体验。
为了解决上述问题中的至少一个,本申请提供以下技术方案:
第一方面,本申请提供一种基于缓存的服务端接口熔断方法,包括:
接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率;
根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作。
进一步地,所述根据所述目标接口的请求成功率,确定对应的接口熔断策略,包括:
若所述目标接口的请求成功率属于第一预设阈值范围,则将接口熔断策略确定为熔断器关闭;
若所述目标接口的请求成功率属于第二预设阈值范围,则将接口熔断策略确定为熔断器开启;
若所述目标接口的请求成功率属于第三预设阈值范围,则将接口熔断策略确定为熔断器半开启。
进一步地,还包括:
若接口熔断策略为熔断器关闭,则中断所述目标接口的请求接收功能;
若接口熔断策略为熔断器开启,则拦截所述目标接口接收到的请求,并根据预设缓存数据库,查询得到对应的缓存信息,并返回所述缓存信息;
若接口熔断策略为熔断器半开启,则将接口熔断策略确定为所述熔断器开启,并持续监测所述目标接口的所述请求成功率,若所述请求成功率属于第四预设阈值范围,则将接口熔断策略确定为所述熔断器关闭。
进一步地,还包括:
判断所述目标接口是否接收到成功请求;
若是,则将与所述成功请求对应的反馈信息复制并存储到所述预设缓存数据库中。
第二方面,本申请提供一种基于缓存的服务端接口熔断装置,包括:
请求成功率确定模块,用于接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率;
接口熔断模块,用于根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作。
进一步地,所述接口熔断模块包括:
熔断器关闭确定单元,用于若所述目标接口的请求成功率属于第一预设阈值范围,则将接口熔断策略确定为熔断器关闭;
熔断器开启确定单元,用于若所述目标接口的请求成功率属于第二预设阈值范围,则将接口熔断策略确定为熔断器开启;
熔断器半开启确定单元,用于若所述目标接口的请求成功率属于第三预设阈值范围,则将接口熔断策略确定为熔断器半开启。
进一步地,还包括:
熔断器关闭执行单元,用于若接口熔断策略为熔断器关闭,则中断所述目标接口的请求接收功能;
熔断器开启执行单元,用于若接口熔断策略为熔断器开启,则拦截所述目标接口接收到的请求,并根据预设缓存数据库,查询得到对应的缓存信息,并返回所述缓存信息;
熔断器半开启执行单元,用于若接口熔断策略为熔断器半开启,则将接口熔断策略确定为所述熔断器开启,并持续监测所述目标接口的所述请求成功率,若所述请求成功率属于第四预设阈值范围,则将接口熔断策略确定为所述熔断器关闭。
进一步地,还包括:
请求成功判断单元,用于判断所述目标接口是否接收到成功请求;
缓存存储单元,用于将与所述成功请求对应的反馈信息复制并存储到所述预设缓存数据库中。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的基于缓存的服务端接口熔断方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的基于缓存的服务端接口熔断方法的步骤。
由上述技术方案可知,本申请提供一种基于缓存的服务端接口熔断方法及装置,通过接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率;根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作,本申请结合接口缓存的方式,能够在某个功能的依赖接口出现了故障时,在接口故障发生期间,避免用户明显感知到服务正在发生异常,通过缓存提供无感知降级服务,保障服务器信息反馈能力,从而提升数据交互的顺畅、可靠和用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的基于缓存的服务端接口熔断方法的流程示意图之一;
图2为本申请实施例中的基于缓存的服务端接口熔断方法的流程示意图之二;
图3为本申请实施例中的基于缓存的服务端接口熔断方法的流程示意图之三;
图4为本申请实施例中的基于缓存的服务端接口熔断方法的流程示意图之四;
图5为本申请实施例中的基于缓存的服务端接口熔断装置的结构图之一;
图6为本申请实施例中的基于缓存的服务端接口熔断装置的结构图之二;
图7为本申请实施例中的基于缓存的服务端接口熔断装置的结构图之三;
图8为本申请实施例中的基于缓存的服务端接口熔断装置的结构图之四;
图9为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到目前接口熔断器的设计主要以接口熔断功能为主,其主要设计目的是防止接口依赖的各种服务出现故障时发生雪崩效应,例如当上游接口出现延迟时,下游的接口会因为上游接口响应迟缓而无法快速响应请求,这样的影响会逐渐累积最终导致整个服务体系崩溃,为了防止这一问题的出现,接口熔断器在发现上游接口无法提供稳定服务时会将请求链路切断,切断后下游接口就不会被上游服务的异常所影响,但整个服务的完整性也受到了破坏,传统熔断器会导致服务全部或部分不可用的问题,本申请提供一种基于缓存的服务端接口熔断方法及装置,通过接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率;根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作,本申请结合接口缓存的方式,能够在某个功能的依赖接口出现了故障时,在接口故障发生期间,避免用户明显感知到服务正在发生异常,通过缓存提供无感知降级服务,保障服务器信息反馈能力,从而提升数据交互的顺畅、可靠和用户体验。
为了能够有效结合接口缓存方式,保障服务器信息反馈能力,从而提升数据交互的顺畅、可靠和用户体验,本申请提供一种基于缓存的服务端接口熔断方法的实施例,参见图1,所述基于缓存的服务端接口熔断方法具体包含有如下内容:
步骤S101:接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率。
可以理解的是,本系统可以通过熔断器的一种称之为Bucket的模式进行请求成功率的统计,每一个Bucket有用成功请求数(SuccessfulRequests,简称S)与失败请求数(FailedRequests,简称F)两种数值,这些数值通过请求的成功与否进行统计,请求成功时S+1,请求失败时F+1,请求总数为S+F,成功率的计算方法为F/(S+F),熔断器每隔10秒会新建一个Bucket并销毁上一个Bucket,所以统计的范围被设定在10秒时间范围内的请求成功率,具体的销毁时间可以根据请求的绝对数量进行调整,这样的设计可以保证该时间范围内的请求成功率不会因为总请求基数过大而失去统计意义。
步骤S102:根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作。
可以理解的是,本系统可以通过熔断器的Bucket统计模式进行请求成功率统计,当请求成功率出现变化时,熔断器会根据具体的成功率调整当前熔断器的状态,通过状态的流转控制请求的实际工作状态,例如在熔断器处于开启状态时所有请求将会被熔断器拦截,并尝试使用缓存进行数据返回。
具体地,所述熔断器可以包含三种工作状态:1.熔断器关闭状态,2.熔断器打开状态,3.熔断器半开状态,熔断器的标准工作状态为关闭状态,关闭状态是指熔断器当前不会中断任何请求,当请求的成功率低于某一设定值时熔断器进入打开状态,打开状态是指当前所有经过熔断器的请求都会被拦截,拦截之后会根据当前请求参数的hash值查询缓存系统,如果缓存系统有缓存则会通过返回缓存数据的方式提供降级服务,如果未找到缓存则直接返回接口异常,当异常情况持续一段时间之后熔断器将会自动进入半开状态,半开状态是指熔断器在进入这一状态之后会放行一部分请求,这一部分请求如果访问成功熔断器会收到反馈并流转到关闭状态,熔断器恢复标准工作状态,如果放行的部分请求中有任何一个请求返回失败状态熔断器将持续保持在打开状态并等待到下一个半开状态。
从上述描述可知,本申请实施例提供的基于缓存的服务端接口熔断方法,能够通过接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率;根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作,本申请结合接口缓存的方式,能够在某个功能的依赖接口出现了故障时,在接口故障发生期间,避免用户明显感知到服务正在发生异常,通过缓存提供无感知降级服务,保障服务器信息反馈能力,从而提升数据交互的顺畅、可靠和用户体验。
为了能够准确采用对应的接口熔断策略,在本申请的基于缓存的服务端接口熔断方法的一实施例中,参见图2,还具体包含有如下内容:
步骤S201:若所述目标接口的请求成功率属于第一预设阈值范围,则将接口熔断策略确定为熔断器关闭。
步骤S202:若所述目标接口的请求成功率属于第二预设阈值范围,则将接口熔断策略确定为熔断器开启。
步骤S203:若所述目标接口的请求成功率属于第三预设阈值范围,则将接口熔断策略确定为熔断器半开启。
可选地,所述第一预设阈值范围、第二预设阈值范围和第三预设阈值范围可以通过预先人为进行设定,也可以通过概率统计或大数据技术进行确定,例如将所述第一预设阈值范围设定为请求成功率大于80%,将所述第二预设阈值范围设定为请求成功率小于50%,将所述第三预设阈值范围设定为请求成功率介于50%至80%。
为了能够有效采取对应的接口熔断策略,执行对应的接口熔断操作,在本申请的基于缓存的服务端接口熔断方法的一实施例中,参见图3,还具体包含有如下内容:
步骤S301:若接口熔断策略为熔断器关闭,则中断所述目标接口的请求接收功能。
步骤S302:若接口熔断策略为熔断器开启,则拦截所述目标接口接收到的请求,并根据预设缓存数据库,查询得到对应的缓存信息,并返回所述缓存信息。
步骤S303:若接口熔断策略为熔断器半开启,则将接口熔断策略确定为所述熔断器开启,并持续监测所述目标接口的所述请求成功率,若所述请求成功率属于第四预设阈值范围,则将接口熔断策略确定为所述熔断器关闭。
为了能够有效结合缓存方式,在本申请的基于缓存的服务端接口熔断方法的一实施例中,参见图4,还具体包含有如下内容:
步骤S401:判断所述目标接口是否接收到成功请求。
步骤S402:若是,则将与所述成功请求对应的反馈信息复制并存储到所述预设缓存数据库中。
为了能够有效结合接口缓存方式,保障服务器信息反馈能力,从而提升数据交互的顺畅、可靠和用户体验,本申请提供一种用于实现所述基于缓存的服务端接口熔断方法的全部或部分内容的基于缓存的服务端接口熔断装置的实施例,参见图5,所述基于缓存的服务端接口熔断装置具体包含有如下内容:
请求成功率确定模块10,用于接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率。
接口熔断模块20,用于根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作。
从上述描述可知,本申请实施例提供的基于缓存的服务端接口熔断装置,能够通过接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率;根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作,本申请结合接口缓存的方式,能够在某个功能的依赖接口出现了故障时,在接口故障发生期间,避免用户明显感知到服务正在发生异常,通过缓存提供无感知降级服务,保障服务器信息反馈能力,从而提升数据交互的顺畅、可靠和用户体验。
为了能够准确采用对应的接口熔断策略,在本申请的基于缓存的服务端接口熔断装置的一实施例中,参见图6,所述接口熔断模块20包括:
熔断器关闭确定单元21,用于若所述目标接口的请求成功率属于第一预设阈值范围,则将接口熔断策略确定为熔断器关闭。
熔断器开启确定单元22,用于若所述目标接口的请求成功率属于第二预设阈值范围,则将接口熔断策略确定为熔断器开启。
熔断器半开启确定单元23,用于若所述目标接口的请求成功率属于第三预设阈值范围,则将接口熔断策略确定为熔断器半开启。
为了能够有效采取对应的接口熔断策略,执行对应的接口熔断操作,在本申请的基于缓存的服务端接口熔断装置的一实施例中,参见图7,还具体包含有如下内容:
熔断器关闭执行单元31,用于若接口熔断策略为熔断器关闭,则中断所述目标接口的请求接收功能。
熔断器开启执行单元32,用于若接口熔断策略为熔断器开启,则拦截所述目标接口接收到的请求,并根据预设缓存数据库,查询得到对应的缓存信息,并返回所述缓存信息。
熔断器半开启执行单元33,用于若接口熔断策略为熔断器半开启,则将接口熔断策略确定为所述熔断器开启,并持续监测所述目标接口的所述请求成功率,若所述请求成功率属于第四预设阈值范围,则将接口熔断策略确定为所述熔断器关闭。
为了能够有效结合缓存方式,在本申请的基于缓存的服务端接口熔断装置的一实施例中,参见图8,还具体包含有如下内容:
请求成功判断单元41,用于判断所述目标接口是否接收到成功请求。
缓存存储单元42,用于将与所述成功请求对应的反馈信息复制并存储到所述预设缓存数据库中。
为了更进一步说明本方案,本申请还提供一种应用上述基于缓存的服务端接口熔断装置实现基于缓存的服务端接口熔断方法的具体应用实例,具体包含有如下内容:
熔断器包含三种工作状态:1.熔断器关闭状态,2.熔断器打开状态,3.熔断器半开状态,熔断器的标准工作状态为关闭状态,关闭状态是指熔断器当前不会中断任何请求,当请求的成功率低于某一设定值时熔断器进入打开状态,打开状态是指当前所有经过熔断器的请求都会被拦截,拦截之后会根据当前请求参数的hash值查询缓存系统,如果缓存系统有缓存则会通过返回缓存数据的方式提供降级服务,如果未找到缓存则直接返回接口异常,当异常情况持续一段时间之后熔断器将会自动进入半开状态,半开状态是指熔断器在进入这一状态之后会放行一部分请求,这一部分请求如果访问成功熔断器会收到反馈并流转到关闭状态,熔断器恢复标准工作状态,如果放行的部分请求中有任何一个请求返回失败状态熔断器将持续保持在打开状态并等待到下一个半开状态。
具体地,熔断器通过一种称之为Bucket的模式进行请求成功率的统计,每一个Bucket有用成功请求数(SuccessfulRequests,简称S)与失败请求数(FailedRequests,简称F)两种数值,这些数值通过请求的成功与否进行统计,请求成功时S+1,请求失败时F+1,请求总数为S+F,成功率的计算方法为F/(S+F),熔断器每隔10秒会新建一个Bucket并销毁上一个Bucket,所以统计的范围被设定在10秒时间范围内的请求成功率,具体的销毁时间可以根据请求的绝对数量进行调整,这样的设计可以保证该时间范围内的请求成功率不会因为总请求基数过大而失去统计意义。
本申请的实施例还提供能够实现上述实施例中的基于缓存的服务端接口熔断方法中全部步骤的一种电子设备的具体实施方式,参见图9,所述电子设备具体包括如下内容:
处理器(processor)601、存储器(memory)602、通信接口(CommunicationsInterface)603和总线604;
其中,所述处理器601、存储器602、通信接口603通过所述总线604完成相互间的通信;所述通信接口603用于实现基于缓存的服务端接口熔断装置、在线业务系统、客户端设备以及其他参与机构之间的信息传输;
所述处理器601用于调用所述存储器602中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的基于缓存的服务端接口熔断方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率。
步骤S102:根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作。
从上述描述可知,本申请实施例提供的电子设备,能够通过接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率;根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作,本申请结合接口缓存的方式,能够在某个功能的依赖接口出现了故障时,在接口故障发生期间,避免用户明显感知到服务正在发生异常,通过缓存提供无感知降级服务,保障服务器信息反馈能力,从而提升数据交互的顺畅、可靠和用户体验。
本申请的实施例还提供能够实现上述实施例中的基于缓存的服务端接口熔断方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的基于缓存的服务端接口熔断方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率。
步骤S102:根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作。
从上述描述可知,本申请实施例提供的计算机可读存储介质,能够通过接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率;根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作,本申请结合接口缓存的方式,能够在某个功能的依赖接口出现了故障时,在接口故障发生期间,避免用户明显感知到服务正在发生异常,通过缓存提供无感知降级服务,保障服务器信息反馈能力,从而提升数据交互的顺畅、可靠和用户体验。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (10)
1.一种基于缓存的服务端接口熔断方法,其特征在于,所述方法包括:
接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率;
根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作。
2.根据权利要求1所述的基于缓存的服务端接口熔断方法,其特征在于,所述根据所述目标接口的请求成功率,确定对应的接口熔断策略,包括:
若所述目标接口的请求成功率属于第一预设阈值范围,则将接口熔断策略确定为熔断器关闭;
若所述目标接口的请求成功率属于第二预设阈值范围,则将接口熔断策略确定为熔断器开启;
若所述目标接口的请求成功率属于第三预设阈值范围,则将接口熔断策略确定为熔断器半开启。
3.根据权利要求2所述的基于缓存的服务端接口熔断方法,其特征在于,还包括:
若接口熔断策略为熔断器关闭,则中断所述目标接口的请求接收功能;
若接口熔断策略为熔断器开启,则拦截所述目标接口接收到的请求,并根据预设缓存数据库,查询得到对应的缓存信息,并返回所述缓存信息;
若接口熔断策略为熔断器半开启,则将接口熔断策略确定为所述熔断器开启,并持续监测所述目标接口的所述请求成功率,若所述请求成功率属于第四预设阈值范围,则将接口熔断策略确定为所述熔断器关闭。
4.根据权利要求3所述的基于缓存的服务端接口熔断方法,其特征在于,还包括:
判断所述目标接口是否接收到成功请求;
若是,则将与所述成功请求对应的反馈信息复制并存储到所述预设缓存数据库中。
5.一种基于缓存的服务端接口熔断装置,其特征在于,包括:
请求成功率确定模块,用于接收设定时间内目标接口受到的成功请求和失败请求,得到所述目标接口的请求成功率;
接口熔断模块,用于根据所述目标接口的请求成功率,确定对应的接口熔断策略,并根据所述接口熔断策略对所述目标接口执行对应的熔断操作。
6.根据权利要求5所述的基于缓存的服务端接口熔断装置,其特征在于,所述接口熔断模块包括:
熔断器关闭确定单元,用于若所述目标接口的请求成功率属于第一预设阈值范围,则将接口熔断策略确定为熔断器关闭;
熔断器开启确定单元,用于若所述目标接口的请求成功率属于第二预设阈值范围,则将接口熔断策略确定为熔断器开启;
熔断器半开启确定单元,用于若所述目标接口的请求成功率属于第三预设阈值范围,则将接口熔断策略确定为熔断器半开启。
7.根据权利要求6所述的基于缓存的服务端接口熔断装置,其特征在于,还包括:
熔断器关闭执行单元,用于若接口熔断策略为熔断器关闭,则中断所述目标接口的请求接收功能;
熔断器开启执行单元,用于若接口熔断策略为熔断器开启,则拦截所述目标接口接收到的请求,并根据预设缓存数据库,查询得到对应的缓存信息,并返回所述缓存信息;
熔断器半开启执行单元,用于若接口熔断策略为熔断器半开启,则将接口熔断策略确定为所述熔断器开启,并持续监测所述目标接口的所述请求成功率,若所述请求成功率属于第四预设阈值范围,则将接口熔断策略确定为所述熔断器关闭。
8.根据权利要求5所述的基于缓存的服务端接口熔断装置,其特征在于,还包括:
请求成功判断单元,用于判断所述目标接口是否接收到成功请求;
缓存存储单元,用于将与所述成功请求对应的反馈信息复制并存储到所述预设缓存数据库中。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述的基于缓存的服务端接口熔断方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的基于缓存的服务端接口熔断方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910986371.4A CN110737567A (zh) | 2019-10-17 | 2019-10-17 | 基于缓存的服务端接口熔断方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910986371.4A CN110737567A (zh) | 2019-10-17 | 2019-10-17 | 基于缓存的服务端接口熔断方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110737567A true CN110737567A (zh) | 2020-01-31 |
Family
ID=69270094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910986371.4A Pending CN110737567A (zh) | 2019-10-17 | 2019-10-17 | 基于缓存的服务端接口熔断方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737567A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290696A (zh) * | 2020-02-26 | 2020-06-16 | 平安银行股份有限公司 | 一种应用程序组件的流控方法及装置 |
CN111814178A (zh) * | 2020-06-29 | 2020-10-23 | 四川长虹电器股份有限公司 | 一种针对第三方应用的数据回调熔断保护方法 |
CN111866156A (zh) * | 2020-07-27 | 2020-10-30 | 网易(杭州)网络有限公司 | 熔断处理方法及装置 |
CN112416636A (zh) * | 2020-10-29 | 2021-02-26 | 中国人寿保险股份有限公司 | 一种对数据库访问的熔断方法及电子设备 |
CN112449017A (zh) * | 2020-11-25 | 2021-03-05 | 深圳市欢太科技有限公司 | 服务端及其控制方法 |
CN113472879A (zh) * | 2021-06-29 | 2021-10-01 | 中国平安财产保险股份有限公司 | 一种服务请求的方法、装置、计算机设备及存储介质 |
CN113553233A (zh) * | 2021-07-19 | 2021-10-26 | 中国电信股份有限公司 | 监控处理方法、监控处理装置、存储介质与电子设备 |
CN114116753A (zh) * | 2021-11-30 | 2022-03-01 | 唯品会(广州)软件有限公司 | 基于mybatis的熔断方法、装置、设备和存储介质 |
CN114357048A (zh) * | 2022-01-05 | 2022-04-15 | 携程旅游网络技术(上海)有限公司 | 接口熔断方法及系统、电子设备及存储介质 |
CN114697060A (zh) * | 2020-12-29 | 2022-07-01 | 广州腾讯科技有限公司 | 业务控制方法、装置和电子设备 |
CN115001956A (zh) * | 2022-05-24 | 2022-09-02 | 中国平安财产保险股份有限公司 | 服务器集群的运行方法、装置、设备及存储介质 |
CN115277588A (zh) * | 2022-06-22 | 2022-11-01 | 平安银行股份有限公司 | 一种基于中台系统的熔断限流系统 |
CN117806778A (zh) * | 2024-02-29 | 2024-04-02 | 济南浪潮数据技术有限公司 | 资源管理方法、系统、设备及介质 |
CN118445097A (zh) * | 2023-10-30 | 2024-08-06 | 荣耀终端有限公司 | 熔断信息处理方法及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026454A1 (en) * | 2004-07-30 | 2006-02-02 | Fujitsu Limited | Cache memory, processor, and production methods for cache memory and processor |
CN108200180A (zh) * | 2018-01-08 | 2018-06-22 | 武汉斗鱼网络科技有限公司 | 一种用于限制请求频率的方法、装置及计算机设备 |
CN109766210A (zh) * | 2019-01-17 | 2019-05-17 | 多点生活(成都)科技有限公司 | 服务熔断控制方法、服务熔断控制装置和服务器集群 |
CN109948356A (zh) * | 2019-03-25 | 2019-06-28 | 江苏电力信息技术有限公司 | 一种基于微服务架构下服务调用权限控制方法 |
CN110309016A (zh) * | 2019-06-13 | 2019-10-08 | 北京奇艺世纪科技有限公司 | 一种熔断恢复方法、装置及服务器 |
-
2019
- 2019-10-17 CN CN201910986371.4A patent/CN110737567A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026454A1 (en) * | 2004-07-30 | 2006-02-02 | Fujitsu Limited | Cache memory, processor, and production methods for cache memory and processor |
CN108200180A (zh) * | 2018-01-08 | 2018-06-22 | 武汉斗鱼网络科技有限公司 | 一种用于限制请求频率的方法、装置及计算机设备 |
CN109766210A (zh) * | 2019-01-17 | 2019-05-17 | 多点生活(成都)科技有限公司 | 服务熔断控制方法、服务熔断控制装置和服务器集群 |
CN109948356A (zh) * | 2019-03-25 | 2019-06-28 | 江苏电力信息技术有限公司 | 一种基于微服务架构下服务调用权限控制方法 |
CN110309016A (zh) * | 2019-06-13 | 2019-10-08 | 北京奇艺世纪科技有限公司 | 一种熔断恢复方法、装置及服务器 |
Non-Patent Citations (2)
Title |
---|
LB: ""微服务:请求熔断原理"", 《HTTPS://ICORER.COM/ICORER_BLOG/POSTS/MICROSERVICES-PRINCIPLES-OF-REQUEST-FUSING/》 * |
陈同学: ""Spring Cloud 源码学习之 Hystrix 熔断器"", 《MP.WEIXIN.QQ.COM/S.HLWX94WFWS8YMY968D284A》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290696A (zh) * | 2020-02-26 | 2020-06-16 | 平安银行股份有限公司 | 一种应用程序组件的流控方法及装置 |
CN111814178A (zh) * | 2020-06-29 | 2020-10-23 | 四川长虹电器股份有限公司 | 一种针对第三方应用的数据回调熔断保护方法 |
CN111866156A (zh) * | 2020-07-27 | 2020-10-30 | 网易(杭州)网络有限公司 | 熔断处理方法及装置 |
CN112416636A (zh) * | 2020-10-29 | 2021-02-26 | 中国人寿保险股份有限公司 | 一种对数据库访问的熔断方法及电子设备 |
CN112449017A (zh) * | 2020-11-25 | 2021-03-05 | 深圳市欢太科技有限公司 | 服务端及其控制方法 |
CN112449017B (zh) * | 2020-11-25 | 2023-08-18 | 深圳市欢太科技有限公司 | 服务端及其控制方法 |
CN114697060A (zh) * | 2020-12-29 | 2022-07-01 | 广州腾讯科技有限公司 | 业务控制方法、装置和电子设备 |
CN114697060B (zh) * | 2020-12-29 | 2024-05-07 | 广州腾讯科技有限公司 | 业务控制方法、装置和电子设备 |
CN113472879B (zh) * | 2021-06-29 | 2023-12-08 | 中国平安财产保险股份有限公司 | 一种服务请求的方法、装置、计算机设备及存储介质 |
CN113472879A (zh) * | 2021-06-29 | 2021-10-01 | 中国平安财产保险股份有限公司 | 一种服务请求的方法、装置、计算机设备及存储介质 |
CN113553233A (zh) * | 2021-07-19 | 2021-10-26 | 中国电信股份有限公司 | 监控处理方法、监控处理装置、存储介质与电子设备 |
CN114116753A (zh) * | 2021-11-30 | 2022-03-01 | 唯品会(广州)软件有限公司 | 基于mybatis的熔断方法、装置、设备和存储介质 |
CN114357048A (zh) * | 2022-01-05 | 2022-04-15 | 携程旅游网络技术(上海)有限公司 | 接口熔断方法及系统、电子设备及存储介质 |
CN115001956A (zh) * | 2022-05-24 | 2022-09-02 | 中国平安财产保险股份有限公司 | 服务器集群的运行方法、装置、设备及存储介质 |
CN115001956B (zh) * | 2022-05-24 | 2023-06-16 | 中国平安财产保险股份有限公司 | 服务器集群的运行方法、装置、设备及存储介质 |
CN115277588A (zh) * | 2022-06-22 | 2022-11-01 | 平安银行股份有限公司 | 一种基于中台系统的熔断限流系统 |
CN115277588B (zh) * | 2022-06-22 | 2023-06-09 | 平安银行股份有限公司 | 一种基于中台系统的熔断限流系统 |
CN118445097A (zh) * | 2023-10-30 | 2024-08-06 | 荣耀终端有限公司 | 熔断信息处理方法及电子设备 |
CN117806778A (zh) * | 2024-02-29 | 2024-04-02 | 济南浪潮数据技术有限公司 | 资源管理方法、系统、设备及介质 |
CN117806778B (zh) * | 2024-02-29 | 2024-06-07 | 济南浪潮数据技术有限公司 | 资源管理方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737567A (zh) | 基于缓存的服务端接口熔断方法及装置 | |
KR102140903B1 (ko) | 합의 방법 및 장치 | |
US10095598B2 (en) | Transaction server performance monitoring using component performance data | |
CN110019502B (zh) | 在主数据库和备数据库之间的同步方法、数据库系统和设备 | |
CN111880906A (zh) | 虚拟机高可用性管理方法、系统以及存储介质 | |
CN111865632B (zh) | 分布式数据存储集群的切换方法及切换指令发送方法和装置 | |
CN111209110A (zh) | 一种实现负载均衡的任务调度管理方法、系统和存储介质 | |
CN111538585A (zh) | 一种基于node.js的服务器进程调度方法、系统和装置 | |
CN109560976B (zh) | 一种消息延迟的监控方法及装置 | |
CN109257196A (zh) | 一种异常处理方法及设备 | |
CN109766198A (zh) | 流式处理方法、装置、设备及计算机可读存储介质 | |
CN113590285A (zh) | 一种用于线程池参数动态设置的方法、系统及设备 | |
US11243979B1 (en) | Asynchronous propagation of database events | |
CN114327662B (zh) | 操作系统的处理方法及装置、存储介质和处理器 | |
CN113938527B (zh) | Api网关的扩展处理方法、计算设备及存储介质 | |
CN111159298B (zh) | 业务请求处理方法、装置、电子设备及存储介质 | |
CN110858242A (zh) | 页面跳转方法及装置 | |
WO2024045980A1 (zh) | 一种分布式定时消息系统测试方法、装置以及设备 | |
CN112559565A (zh) | 一种异常检测方法、系统及装置 | |
CN110620734A (zh) | Tcp链路数据处理方法及装置 | |
CN116909791A (zh) | 一种服务降级容错方法、装置、电子设备及存储介质 | |
CN110019023B (zh) | 一种机构信息报文的推送方法、装置及设备 | |
CN110490737B (zh) | 交易渠道控制方法、装置和电子设备 | |
US11050651B2 (en) | Systems and methods for health monitoring and upgrade of a distributed controller | |
CN113542027A (zh) | 一种基于分布式服务架构的流量隔离方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200131 |
|
RJ01 | Rejection of invention patent application after publication |