CN110187995B - 一种熔断对端节点的方法及熔断装置 - Google Patents

一种熔断对端节点的方法及熔断装置 Download PDF

Info

Publication number
CN110187995B
CN110187995B CN201910463460.0A CN201910463460A CN110187995B CN 110187995 B CN110187995 B CN 110187995B CN 201910463460 A CN201910463460 A CN 201910463460A CN 110187995 B CN110187995 B CN 110187995B
Authority
CN
China
Prior art keywords
fusing
index
node
updating
response result
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.)
Active
Application number
CN201910463460.0A
Other languages
English (en)
Other versions
CN110187995A (zh
Inventor
何磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910463460.0A priority Critical patent/CN110187995B/zh
Publication of CN110187995A publication Critical patent/CN110187995A/zh
Application granted granted Critical
Publication of CN110187995B publication Critical patent/CN110187995B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Abstract

本申请实施例公开了一种熔断对端节点的方法及熔断装置,适用于微服务架构中,用于通过实时检测主节点向对端节点发送请求的响应结果的统计判断对端节点的工作状态,进一步的通过对请求的返回状态及延迟的计算更新熔断指数,从而判断是否需要熔断对端节点,避免了因短暂或偶然发生的网络波动造成的熔断误判,提高了熔断判断的准确率及效率,保证了服务的稳定性。

Description

一种熔断对端节点的方法及熔断装置
技术领域
本申请涉及计算机领域,具体涉及一种熔断对端节点的方法及熔断装置。
背景技术
在微服务环境下,为了提高服务的可用性,常常会为同一个服务部署多个对端节点。当某个对端节点发生故障时,可以将它从可用对端节点列表中摘除,从而保障服务的整体错误率不会因为单个对端节点的故障而升高。这种摘除故障对端节点并隔离的手段被称为熔断。
目前主流的熔断方案都是基于时间片的错误率来实现的,即将请求根据时间进行分片,并统计每个时间片的错误率。
但是,假如某个时间片的错误率超过了设置的阈值,则将该对端节点隔离。一方面,由于在统计错误率时,只会考虑本时间片内的错误率,很容易出现误判。比如当网络出现短暂波动时,造成某个时间片的错误率升高,从而错误的将其熔断,造成误判,影响服务的稳定性;另一方面,对于时间片的统计需等待时间片对应的时长结束才能进行判断,影响服务的效率。
发明内容
本申请实施例提供了一种熔断对端节点的方法及熔断装置,用于通过实时检测主节点向对端节点发送请求的响应结果,进一步的通过对请求状态延迟的计算更新熔断指数,从而判断是否需要熔断对端节点,避免了因短暂或偶然发生的网络波动造成的熔断误判,提高了熔断判断的准确率及效率,保证了服务的稳定性。
为达到上述目的,本申请实施例提供如下技术方案:
本申请第一方面提供一种熔断对端节点的方法,该方法可应用于微服务的架构中,该熔断对端节点的方法在执行过程中涉及到的虚拟器件可以在微服务架构中对应相应的功能实体。该方法可以包括:实时检测主节点向对端节点发送请求的响应结果;根据所述响应结果更新熔断指数;若所述更新后的熔断指数满足熔断条件,则熔断所述对端节点。
可选的,在本申请的一些实施例中,所述根据所述响应结果更新熔断指数,包括:根据所述响应结果确定所述熔断指数的变化量;根据所述熔断指数的变化量更新所述熔断指数。
可选的,在本申请的一些实施例中,所述响应结果包括执行成功或执行失败,所述根据所述熔断指数的变化量更新所述熔断指数,包括:计算在预设时间段内所述执行成功的请求耗时的指数滑动平均值,获取第一指数;计算在预设时间段内所述执行失败的请求耗时的指数滑动平均值,获取第二指数;根据所述第一指数和所述第二指数更新所述熔断指数的变化量。
可选的,在本申请的一些实施例中,所述方法还包括:根据主节点向对端节点发送请求的次数获取所述对端节点的窗口大小;根据所述窗口大小计算熔断参数,所述熔断参数用于熔断条件的计算。
可选的,在本申请的一些实施例中,所述熔断条件的计算公式为:C≥E*S*R,所述C为所述熔断指数,所述E为所述第二指数,所述S为所述窗口大小,所述R为预设错误率。
本申请第二方面提供一种熔断装置,该熔断装置具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,本申请实施例提供一种熔断装置,该熔断装置可以包括终端设备或者芯片等实体,所述服务器包括:输入/输出(I/O)接口、处理器和存储器;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,使得所述服务器执行如前述第一方面中任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如前述第一方面及任一可选实现方式中所述的方法。
该计算机存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
第五方面,本申请实施例提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行如前述第一方面及任一可选实现方式中所述的方法。
第六方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持熔断装置实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存优化设备必要的程序指令和数据。该芯片系统,既可以是熔断装置,也可以是应用在熔断装置中执行相应功能的系统芯片。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例通过实时检测主节点在预设时间段内向对端节点发送请求的响应结果,进一步的通过对请求状态延迟的计算更新熔断指数,从而判断是否需要熔断对端节点,避免了因短暂或偶然发生的网络波动造成的熔断误判,提高了熔断判断的准确率及效率,保证了服务的稳定性。
附图说明
图1是微服务网络架构图;
图2是本申请实施例提供的一种熔断对端节点的方法的流程示意图;
图3是本申请实施例提供的另一种熔断对端节点的方法的流程示意图;
图4是本申请实施例提供的一种熔断装置的结构示意图;
图5是本申请实施例提供的另一种熔断装置的结构示意图;
具体实施方式
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例提供了一种熔断对端节点的方法及熔断装置,用于通过对对端节点在预设时间段内请求状态的统计判断对端节点的工作状态,进一步的通过对请求状态延迟的计算更新熔断指数,从而判断是否需要熔断对端节点,避免了因短暂或偶然发生的网络波动造成的熔断误判,提高了熔断判断的准确率,保证了服务的稳定性。
在微服务环境下,为了提高服务的可用性,常常会为同一个服务部署多个对端节点。如图1所示,是微服务网络架构图,图中主节点10相当于一个服务,多个对端节点30通过网络20为主节点10提供服务,应当注意的是,主节点与对端节点为相对的概念,即在可能的场景中,对端节点也可以为其对端节点的主节点,命名方式为其相对功能的概括,此处不做限定。可以理解是的,图1中示出了3个对端节点30,但在实际场景中可以有更多的或少于3个的对端节点30,具体数量因实际场景需求而定,此处不做限定。当某个对端节点30发生故障时,可以将它从可用节点列表中摘除,从而保障服务的整体错误率不会因为单个对端节点的故障而升高,这种摘除故障对端节点并隔离的手段被称为熔断。
可以理解的是,对端节点可以是主节点的下游节点,也可以是主节点的上游节点,还可以是主节点的平级节点,具体的节点关系因实际场景而定,此处不做限定。
目前主流的熔断方案都是基于错误率来实现的:将请求根据时间进行分片,并统计每个时间片的错误率。假如某个时间片的错误率超过了设置的阈值,则将该对端节点隔离。由于在统计错误率时,只会考虑本时间片内的错误率,很容易出现误判。比如当网络出现短暂波动时,造成某个时间片的错误率升高,从而错误的将其判定为故障对端节点。在另外一些实现中,会保存最近连续的几个时间片的统计结果,并根据最近多个时间片的总体出错率来判断是否应该对对端节点进行隔离。这种做法虽然能够正确的处理网络波动,但是由于只能在单个时间片结束时才会对对端节点的健康情况进行判定,当对端节点出现故障时,并不能在第一时间进行隔离,影响服务的效率。
本实施例提出的方法用以解决该问题,为便于理解,下面对本实施例中的具体流程进行描述,如图2所示,是本申请实施例提供的一种熔断对端节点的方法的流程示意图,该方法包括但不限于如下步骤:
201、实时检测主节点向对端节点发送请求的响应结果。
本实施例中,可以是微服务架构中自带的具有检测功能的装置或软件程序进行检测操作,也可以是外部接入的具有检测功能的装置或软件程序进行检测操作,具体应用因实际场景而定,此处不做限制。
本实施例中,以服务器为例,运载Linux系统,服务器实时检测对端节点在预设时间段内对请求的响应结果,其中,预设时间段可以是以当前时刻作为起点的一段时间,也可以是以当前时刻作为终点的一段时间;对于检测的时刻,可以是在预设时间段内间隔性的周期取点检测,也可以是检测预设时间段内每个请求的响应结果,具体场景因实际情况而定,此处不做限定。
可以理解的是,响应结果可以是对请求执行失败/出错,或对请求执行成功/完成,也可以是请求执行的延迟信息统计。
202、根据响应结果更新熔断指数。
本实施例中,熔断指数可以是一个动态的参数,即随着响应结果数据的不断输入,进行相应的变化,该变化可以是累加,也可以是根据一定公式的变化,还可以是删除原有熔断指数后进行重新写入。
在一种可能的场景中,响应结果分为执行成功和执行失败,且统计对请求执行成功的耗时,可记为latency,为第一指数;统计对请求失败的耗时,可记为error_cost,为第二指数,然后分别计算各响应结果耗时的指数滑动平均值,分别记为:ema_latency和acc_error_cost,对应的,熔断指数可以是累计出错耗时。
状态1,当响应结果为执行成功时,可计算ema_latency=ema_latency*(1-ema_alpha)+latency*ema_alpha,acc_error_cost=acc_error_cost*(1-ema_alpha),其中,ema_alpha为用于计算指数滑动平均值的参数,其值等于1–epsilon^(1/window_size),其中epsilon为一个接近0的常数。最后得到的ema_alpha是一个接近0的小数;window_size为计算滑动平均值的参数,该值越大,代表对错误波动的忍耐程度越高,同时熔断的判断速度也会相应程度的下降。可以理解的是,该场景下熔断指数可以是有由ema_latency和acc_error_cost共同计算所得,window_size和ema_alpha可以是人工设定,也可以是服务器自动生成的数值。
状态2,当响应结果为执行失败时,可只计算acc_error_cost,采用累加的形式,即acc_error_cost+=latency,该场景下熔断指数可以理解为由acc_error_cost累加所得,累加的值即为熔断指数的变化量。
可以理解的是,服务器在预设时间段内的状态检测内,状态1和状态2可以是交替的发生的,此时,熔断指数可按照两种状态下各自的计算方法迭代着进行计算,并实时的根据计算结果更新熔断指数。
可选的,在一种可能的场景中,为节省熔断指数的计算时间,可以选择距离当前时刻最近一段时间的响应结果进行计算,例如:选取距离当前时刻前1小时的熔断结果更新熔断指数。
203、若更新后的熔断指数满足熔断条件,则熔断对端节点。
本实施例中,熔断条件可以是一个数值,例如:执行失败的累积耗时达到100ms,则满足熔断条件,;也可以是通过将熔断指数带入特定公式判断公式是否成立,若成立则为满足熔断条件,例如:若acc_error_cost≥ema_latency,则满足熔断条件。
在一种可能的场景中,熔断条件可以为C≥E*S*R,所述C为所述熔断指数,所述E为所述第二指数,所述S为所述窗口大小,所述R为预设错误率。一种可能的程序语言可以表达为:若公式acc_error_cost≥ema_latency*window_size*expect_max_error_rate成立,则满足熔断条件,其中,acc_error_cost为预设时间段内执行失败的耗时的指数滑动平均值;ema_latency为预设时间段内执行成功的耗时的指数滑动平均值;window_size为计算滑动平均值的参数,该值反映了某一时间段内主节点向对端节点发送请求的总次数,可以理解的是,对于该值设定的越大,代表服务过程中对错误波动的忍耐程度越高,同时熔断的判断速度也会相应程度的下降;expect_max_error_rate为预设的最大的错误率,例如,某对端节点在最近10分钟内执行失败的耗时的指数滑动平均值为3000,执行成功的耗时的指数滑动平均值为40,主节点向对端节点发送请求的总次数为100次,预设的最大的错误率为50%,则acc_error_cost=3000,ema_latency*window_size*expect_max_error_rate=40*100*50%=2000<3000,满足熔断条件,则熔断该节点。
可选的,对于窗口大小的设定,可以是选取主节点在实时检测对端节点发送请求的过程中,选取其中一段时间的响应结果作为依据进行窗口大小的设定。
具体的,上述实施例中对端节点的窗口大小可以理解为是主节点在预设时间段内向对端节点的访问总次数,例如:以时间段8:00-9:00为例,主节点在8:00开始计数,此时主节点会周期性向对端节点发送请求,每发送一次计数加一,在9:00结束计数,统计该时间段内计数的数值,即为主节点在8:00-9:00向对端节点的访问总次数,该访问总次数作为对端节点的窗口大小,进行上述实施例中的公式计算。
上述实施例通过对对端节点在预设时间段内请求状态的统计判断对端节点的工作状态,进一步的通过对请求状态延迟的计算更新熔断指数,从而判断是否需要熔断对端节点,避免了因短暂或偶然发生的网络波动造成的熔断误判,提高了熔断判断的准确率及效率,保证了服务的稳定性。
在一种可能的场景中,服务器可参照下述一种运行逻辑运行,如图3所示,是本申请实施例提供的另一种熔断对端节点的方法的流程示意图。,该方法包括但不限于如下步骤:
步骤301可参照图2中步骤201的相关描述,此处不做赘述。
步骤302判断请求是否成功,可以理解的是,统计熔断指数的过程,例如:统计acc_error_cost的值,不需要滑动窗口,也不需要加锁;且在判断请求是否成功的同时,还可以统计相应的消耗的时间,并进行指数滑动平均值的计算,不需要针对不同的错误码做特殊处理,方便维护。可以理解的是,指数滑动平均值仅为举例说明其中一种算法,具有与指数滑动平均值相似模拟程度的算法亦可应用于此,并将计算结果带入步骤303或步骤304进行相关计算。
步骤303和步骤304可参照图2中对于状态1和状态2的相关描述,此处不做赘述。
步骤305中更新熔断指数可以是在原有的熔断指数上累加,也可以是将原有的熔断指数带入相应的公式中进行二次计算,还可以是删除原有的熔断指数,采用最近时间段内计算的熔断指数。
步骤306中若判断不满足熔断条件,则该周期的检测逻辑结束,可立即进入下一个检测周期,也可以间隔一定时间后进入下一个检测周期。
步骤307中若判断满足熔断条件,则熔断该故障对端节点,接下来可以进入下一个对端节点的检测逻辑中。
可以理解的是,上述检测逻辑可以同时应用于多个对端节点的检测中,对于多个时间对端节点的检测可以是同时的,也可以是按照批次或预设的组成检测,还可以是当该对端节点有服务接入时即启动该检测逻辑,具体的检测次序因实际场景而定,此处不做限制。
本申请实施例可以根据上述方法应用于熔断装置中,并对熔断装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
比如,以采用集成的方式划分各个功能单元的情况下,如图4所示,是本申请实施例提供的一种熔断装置的结构示意图。
如图4示,本申请实施例提供的熔断装置400包括检测单元401、更新单元402和熔断单元403。
检测单元401,用于实时检测主节点向对端节点发送请求的响应结果;
更新单元402,用于根据所述响应结果更新熔断指数;
熔断单元403,用于若所述更新后的熔断指数满足熔断条件,则熔断所述对端节点。
可选的,该更新单元402,具体用于根据所述响应结果确定所述熔断指数的变化量;根据所述熔断指数的变化量更新所述熔断指数。
可选的,该更新单元402,具体用于计算在预设时间段内所述执行成功的请求耗时的指数滑动平均值,获取第一指数;计算在预设时间段内所述执行失败的请求耗时的指数滑动平均值,获取第二指数;根据所述第一指数和所述第二指数更新所述熔断指数的变化量。
可选的,该检测单元401,还用于根据主节点向对端节点发送请求的次数获取所述对端节点的窗口大小;该检测单元401,还用于根据该窗口大小计算熔断参数,该熔断参数用于熔断条件的计算。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能单元的功能描述,在此不再赘述。
在本实施例中,熔断装置400可以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定应用集成电路(application-specific integratedcircuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到服务器400可以采用图5所示的形式。
如图5所示,是本申请实施例提供的另一种熔断装置的结构示意图,服务器500包括:输入/输出(I/O)接口501、处理器502、存储器503。具体的,图5中的处理器502可以通过调用存储器503中存储的计算机执行指令,使得服务器500执行上述方法实施例中的实现熔断对端节点的方法。
具体的,图4中的检测单元401、更新单元402和熔断单元403的功能/实现过程可以通过图5中的处理器502调用存储器503中存储的计算机执行指令来实现。或者,图4中的检测单元401、更新单元402和熔断单元403的功能/实现过程可以通过图5中的输入/输出(I/O)接口501来实现。
由于本申请实施例提供的服务器500可用于执行微服务中熔断对端节点的方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
可选的,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持熔断装置实现上述微服务中熔断对端节点的方法。在一种可能的设计中,该芯片系统还包括存储器。该存储器,用于保存熔断装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件,本申请实施例对此不作具体限定。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本申请实施例所提供的熔断对端节点的方法及熔断装置以及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (5)

1.一种熔断对端节点的方法,应用于微服务架构中,其特征在于,包括:
实时检测主节点向对端节点发送请求的响应结果;
根据所述响应结果更新熔断指数;
若所述更新后的熔断指数满足熔断条件,则熔断所述对端节点;
所述根据所述响应结果更新熔断指数,包括:
根据所述响应结果确定所述熔断指数的变化量;
根据所述熔断指数的变化量更新所述熔断指数;
所述响应结果包括执行成功或执行失败,所述根据所述熔断指数的变化量更新所述熔断指数,包括:
计算在预设时间段内所述执行成功的请求耗时的指数滑动平均值,获取第一指数;
计算在预设时间段内所述执行失败的请求耗时的指数滑动平均值,获取第二指数;
根据所述第一指数和所述第二指数更新所述熔断指数的变化量。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据主节点向对端节点发送请求的次数获取所述对端节点的窗口大小;
根据所述窗口大小计算熔断参数,所述熔断参数用于熔断条件的计算。
3.根据权利要求2所述的方法,其特征在于,所述熔断条件的计算公式为:C≥E*S*R,所述C为所述熔断指数,所述E为所述第二指数,所述S为所述窗口大小,所述R为预设错误率。
4.一种熔断装置,其特征在于,包括:
检测单元,用于实时检测主节点向对端节点发送请求的响应结果;
更新单元,用于根据所述响应结果更新熔断指数;
熔断单元,用于若所述更新后的熔断指数满足熔断条件,则熔断所述对端节点;
所述更新单元,具体用于根据所述响应结果确定所述熔断指数的变化量;
所述更新单元,具体用于根据所述熔断指数的变化量更新所述熔断指数;所述更新单元,具体用于计算在预设时间段内执行成功的请求耗时的指数滑动平均值,获取第一指数;
所述更新单元,具体用于计算在预设时间段内执行失败的请求耗时的指数滑动平均值,获取第二指数;
所述更新单元,具体用于根据所述第一指数和所述第二指数更新所述熔断指数。
5.根据权利要求4所述的熔断装置,其特征在于,所述熔断装置还包括:
获取单元,用于根据主节点向对端节点发送请求的次数获取所述对端节点的窗口大小;
计算单元,用于根据所述窗口大小计算熔断参数,所述熔断参数用于熔断条件的计算。
CN201910463460.0A 2019-05-30 2019-05-30 一种熔断对端节点的方法及熔断装置 Active CN110187995B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910463460.0A CN110187995B (zh) 2019-05-30 2019-05-30 一种熔断对端节点的方法及熔断装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910463460.0A CN110187995B (zh) 2019-05-30 2019-05-30 一种熔断对端节点的方法及熔断装置

Publications (2)

Publication Number Publication Date
CN110187995A CN110187995A (zh) 2019-08-30
CN110187995B true CN110187995B (zh) 2022-12-20

Family

ID=67718921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910463460.0A Active CN110187995B (zh) 2019-05-30 2019-05-30 一种熔断对端节点的方法及熔断装置

Country Status (1)

Country Link
CN (1) CN110187995B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676434B (zh) * 2020-05-13 2023-03-24 华为技术有限公司 网络资源的熔断方法、装置、电子设备及存储介质
CN111770134B (zh) * 2020-05-25 2024-03-29 国电南瑞科技股份有限公司 一种基于服务质量的服务熔断方法
CN112367367A (zh) * 2020-10-27 2021-02-12 西安万像电子科技有限公司 图像管理方法、设备及系统
CN113760589A (zh) * 2021-02-05 2021-12-07 北京京东振世信息技术有限公司 一种基于实时流处理框架的服务熔断方法和装置
CN117493067B (zh) * 2023-12-29 2024-04-23 北京淘友天下技术有限公司 基于数据服务保护的熔断控制方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009075A (zh) * 2017-11-27 2018-05-08 南京联创信息科技有限公司 基于Hystrix框架的动态熔断判断方法
CN108681476A (zh) * 2018-05-08 2018-10-19 广州品唯软件有限公司 一种底层接口自动熔断方法及装置
CN108712309A (zh) * 2018-06-11 2018-10-26 郑州云海信息技术有限公司 一种微服务架构下的微服务节点防护方法和系统
CN109240765A (zh) * 2018-08-28 2019-01-18 中国联合网络通信集团有限公司 服务资源的熔断方法、装置、设备及计算机可读存储介质
CN109766210A (zh) * 2019-01-17 2019-05-17 多点生活(成都)科技有限公司 服务熔断控制方法、服务熔断控制装置和服务器集群

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140195672A1 (en) * 2013-01-09 2014-07-10 Microsoft Corporation Automated failure handling through isolation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009075A (zh) * 2017-11-27 2018-05-08 南京联创信息科技有限公司 基于Hystrix框架的动态熔断判断方法
CN108681476A (zh) * 2018-05-08 2018-10-19 广州品唯软件有限公司 一种底层接口自动熔断方法及装置
CN108712309A (zh) * 2018-06-11 2018-10-26 郑州云海信息技术有限公司 一种微服务架构下的微服务节点防护方法和系统
CN109240765A (zh) * 2018-08-28 2019-01-18 中国联合网络通信集团有限公司 服务资源的熔断方法、装置、设备及计算机可读存储介质
CN109766210A (zh) * 2019-01-17 2019-05-17 多点生活(成都)科技有限公司 服务熔断控制方法、服务熔断控制装置和服务器集群

Also Published As

Publication number Publication date
CN110187995A (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
CN110187995B (zh) 一种熔断对端节点的方法及熔断装置
WO2017167044A1 (zh) 一种分布式集群训练方法和装置
KR101871383B1 (ko) 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템
CN107656807B (zh) 一种虚拟资源的自动弹性伸缩方法及装置
CN111049928B (zh) 数据同步方法、系统、电子设备及计算机可读存储介质
CN110083475B (zh) 一种异常数据的检测方法及装置
CN110673928B (zh) 线程绑定方法、装置、存储介质及服务器
CN111262726A (zh) 一种配置信息更新方法、装置及计算机可读存储介质
CN112751726A (zh) 一种数据处理方法、装置、电子设备和存储介质
CN109388614A (zh) 一种目录文件个数配额的方法、系统及设备
CN111625592A (zh) 分布式数据库的负载均衡方法和装置
CN111562889B (zh) 数据处理方法、装置、系统及存储介质
CN111562884A (zh) 一种数据存储方法、装置及电子设备
CN110784336A (zh) 基于物联网的多设备智能定时延时场景设置方法及系统
CN116662022B (zh) 分布式消息处理方法、系统、装置、通信设备及存储介质
CN111291021B (zh) 一种数据库管理方法、装置、电子设备及存储介质
CN111078418B (zh) 操作同步方法、装置、电子设备及计算机可读存储介质
CN108512698B (zh) 一种网络容灾方法、装置及电子设备
CN112073518B (zh) 云存储系统、云存储系统管理方法及中心管理节点
CN111629054B (zh) 消息处理方法、装置、系统、电子设备及可读存储介质
US11765042B2 (en) Traffic application amount calculation apparatus, method and program
CN111884932A (zh) 一种链路确定方法、装置、设备和计算机可读存储介质
CN108718285A (zh) 云计算集群的流量控制方法、装置及服务器
CN110908792A (zh) 一种数据处理方法及装置
CN113254209B (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
GR01 Patent grant
GR01 Patent grant