CN111104213B - 调整熔断的方法及装置 - Google Patents
调整熔断的方法及装置 Download PDFInfo
- Publication number
- CN111104213B CN111104213B CN201911358620.1A CN201911358620A CN111104213B CN 111104213 B CN111104213 B CN 111104213B CN 201911358620 A CN201911358620 A CN 201911358620A CN 111104213 B CN111104213 B CN 111104213B
- Authority
- CN
- China
- Prior art keywords
- interface
- preset
- response time
- detection
- pressure detection
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/24—Marginal checking or other specified testing methods not covered by G06F11/26, e.g. race tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供了一种调整熔断的方法及装置,其中方法通过:在熔断状态下,对被请求方的接口进行连通性探测,并得到第一探测结果;在第一探测结果表征接口连通时,对接口进行压力探测,并得到每次压力探测的第一状态信息以及第一响应时间;根据压力探测的第一状态信息以及第一响应时间判断接口的性能参数是否达到预设的第一性能阈值;在接口的性能参数达到预设的第一性能阈值时取消熔断状态。通过先探测被请求方的接口的连通性,再探测接口性能;在接口不可用时,只进行连通性探测可以避免资源浪费;并且可以避免出现因为上游的接口异常,而影响下游正常对外提供服务的情况,保证下游服务的稳定性和可用性。
Description
技术领域
本发明涉及计算机网络技术领域,特别是涉及调整熔断的方法及装置。
背景技术
熔断一般是指软件系统中断开请求方与被请求方的接口之间的连接的情况。多系统之间普遍通过接口调用来传递数据,而接口服务的抖动或者短时间的异常是很常见的,当请求方系统所依赖的上游/业务方/被请求方接口出现异常不可用时,为了减少对自身系统的影响,请求方系统自身会主动使用熔断机制。熔断状态下,请求方系统不再请求上游接口,默认上游接口返回失败状态。但是在什么条件下取消熔断,相关技术中的主要做法是:请求方系统每隔一段时间取消熔断,重新请求上游接口,如果此时上游接口仍不可用,再进入熔断状态,并以此往复持续进行探测;因此会造成大量资源的浪费,并影响请求方系统的下游服务的稳定性和可用性。
针对相关技术中因为隔一段时间取消熔断,而造成大量资源的浪费,并影响下游服务的稳定性和可用性的技术问题,目前尚未提供有效的解决方案。
发明内容
本发明实施例的目的在于提供一种调整熔断的方法及装置,以实现减少探测过程中资源浪费的情况。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种调整熔断的方法,包括:
在熔断状态下,对被请求方的接口进行连通性探测,并得到第一探测结果;
在所述第一探测结果表征所述接口连通时,对所述接口进行压力探测,并得到每次压力探测的第一状态信息以及第一响应时间;其中,所述第一状态信息用于表征探测是否成功;
根据所述压力探测的第一状态信息以及第一响应时间判断所述接口的性能参数是否达到预设的第一性能阈值;
在所述接口的性能参数达到预设的第一性能阈值时取消熔断状态。
进一步地,如前述的方法,所述根据所述压力探测的第一状态信息以及第一响应时间判断所述接口的性能参数是否达到预设的第一性能阈值,包括:
根据预设周期内的所有压力探测的第一状态信息计算平均成功率;
根据所述预设周期内的所有压力探测的第一响应时间计算平均响应时间;
根据所述平均成功率以及平均响应时间判断所述接口的性能参数是否达到预设的第一性能阈值。
进一步地,如前述的方法,所述根据所述平均成功率以及平均响应时间判断所述接口的性能参数是否达到预设的第一性能阈值,包括:
当连续N个周期的所述平均成功率均满足预设成功率要求,且所述连续N个周期的所述平均响应时间均满足预设响应时间要求时,判定所述接口的性能参数达到预设的第一性能阈值;
当连续N个周期中至少存在一个周期的所述平均成功率不满足所述预设成功率要求,或连续N个周期中至少存在一个周期的所述平均响应时间不满足所述预设响应时间要求时,判定所述接口的性能参数未达到预设的第一性能阈值;N为大于等于1的整数。
进一步地,如前述的方法,在对所述接口进行的压力探测的同时,还包括:
持续对所述接口按照预设的第一频率进行连通性探测,并得到第二探测结果;
在所述第二探测结果表征接口不可用时,停止对所述接口按照预设的第二频率进行压力探测。
进一步地,如前述的方法,在取消熔断状态之后,还包括:
接收所述被请求方根据数据请求并通过所述接口返回的响应信息;
根据所述响应信息得到所述接口在连通状态下的第二状态信息和第二响应时间;其中,所述第二状态信息用于表征数据请求是否成功;
根据所述第二状态信息以及第二响应时间判断所述接口的性能参数是否达到所述预设的第二性能阈值;
在所述接口未达到所述预设的第二性能阈值时,触发熔断。
进一步地,如前述的方法,在取消熔断状态之前,还包括:
接收请求方发起的接口调用请求;
根据熔断状态以及接口调用请求,向所述请求方返回接口调用失败信息。
在本发明实施的第二方面,还提供了一种调整熔断的装置,包括:连通探测模块、压力探测模块、统计模块和调度模块;
所述连通探测模块,用于在熔断状态下,接收调度模块的调度,对被请求方的接口进行连通性探测,并得到第一探测结果;
所述压力探测模块,用于在所述第一探测结果表征接口连通时,接收所述调度模块的调度,对所述接口进行压力探测,得到每次压力探测的第一状态信息以及第一响应时间;其中,所述第一状态信息用于表征探测是否成功;
所述统计模块,用于接收所述调度模块的转发的所述压力探测的第一状态信息以及第一响应时间,并根据所述压力探测的第一状态信息以及第一响应时间判断所述接口的性能参数是否达到预设的第一性能阈值,在所述接口的性能参数达到预设的第一性能阈值时取消熔断状态;
所述调度模块,用于对所述连通探测模块和压力探测模块进行调用,并向所述统计模块转发数据。
进一步地,如前述的装置,所述统计模块包括:
第一计算子模块,用于根据预设周期内的所有压力探测的第一状态信息计算平均成功率;
第二计算子模块,用于根据所述预设周期内的所有压力探测的第一响应时间计算平均响应时间;
判断子模块,用于根据所述平均成功率以及平均响应时间判断所述接口的性能参数是否达到预设的第一性能阈值。
进一步地,如前述的装置,所述判断子模块,包括:
第一判断单元,用于当连续N个周期的所述平均成功率均满足预设成功率要求,且所述连续N个周期的所述平均响应时间均满足预设响应时间要求时,判定所述接口的性能参数达到预设的第一性能阈值;
第二判断单元,用于当连续N个周期中至少存在一个周期的所述平均成功率不满足所述预设成功率要求,或连续N个周期中至少存在一个周期的所述平均响应时间不满足所述预设响应时间要求时,判定所述接口的性能参数未达到预设的第一性能阈值;N为大于等于1的整数。
进一步地,如前述的装置,还包括:
第二探测模块,用于持续对所述接口按照预设的第一频率进行连通性探测,并得到第二探测结果;
第二压探模块,用于在所述第二探测结果表征接口不可用时,停止对所述接口按照预设的第二频率进行压力探测。
进一步地,如前述的装置,在取消熔断状态之后,还包括:
第一接收模块,用于接收所述被请求方根据数据请求并通过所述接口返回的响应信息;
确定模块,用于根据所述响应信息得到所述接口在连通状态下的第二状态信息和第二响应时间;其中,所述第二状态信息用于表征数据请求是否成功;
第三判断模块,用于根据所述第二状态信息以及第二响应时间判断所述接口的性能参数是否达到所述预设的第二性能阈值;
熔断模块,用于在所述接口未达到所述预设的第二性能阈值时,触发熔断。
进一步地,如前述的装置,在取消熔断状态之前,还包括:
第二接收模块,用于接收请求方发起的接口调用请求;
请求模块,用于根据熔断状态以及接口调用请求,向所述请求方返回接口调用失败信息。
在本发明实施的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面中任一所述的方法。
在本发明实施的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,在所述计算机程序被处理器执行时,实现如第一方面中任一所述的方法。
本发明实施例提供了一种调整熔断的方法及装置,其中方法通过:在熔断状态下,对被请求方的接口进行连通性探测,并得到第一探测结果;在所述第一探测结果表征所述接口连通时,对所述接口进行压力探测,并得到每次压力探测的第一状态信息以及第一响应时间;其中,所述第一状态信息用于表征探测是否成功;根据所述压力探测的第一状态信息以及第一响应时间判断所述接口的性能参数是否达到预设的第一性能阈值;在所述接口的性能参数达到预设的第一性能阈值时取消熔断状态。本申请中的方法通过先探测接口的连通性,再探测接口性能;在接口不可用时,只进行连通性探测可以避免资源浪费;并且可以避免出现因为上游的接口异常,而影响下游正常对外提供服务的情况,保证下游服务的稳定性和可用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明一种实施例中调整熔断的方法流程示意图;
图2为本发明另一种实施例中调整熔断的方法流程示意图;
图3为本发明又一种实施例中调整熔断的方法流程示意图;
图4为本发明一种实施例中调整熔断的装置的功能模块结构示意图;
图5为本发明一种应用例中调整熔断的装置的框图;
图6为本发明应用例中调整熔断的装置的一种应用状态下的数据交互示意图;
图7为本发明应用例中调整熔断的装置的又一种应用状态下的数据交互示意图;
图8为本发明应用例中调整熔断的装置的又一种应用状态下的数据交互示意图;
图9为本发明一种实施例中的电子装置的模块结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,在本发明实施的第一方面,首先提供了一种调整熔断的方法,包括如下所述步骤S1至S4:
S1.在熔断状态下,对被请求方的接口进行连通性探测,并得到第一探测结果;
具体的,就是在熔断状态下,探测被请求方(上游)的接口的连通性,且所述第一探测结果即用于表征能够连通或无法连通;举例的,可以通过curl命令,通过小流量请求上游服务接口是否正常返回,并且查看返回值是否符合预期;
S2.在第一探测结果表征接口连通时,对接口进行压力探测,并得到每次压力探测的第一状态信息以及第一响应时间;其中,第一状态信息用于表征探测是否成功;
具体的,所述的压力探测为对接口进行抗压能力探测时的单次探测行为,一般单次探测可以进行连通性以及性能探测,此外进行抗压能力探测时,进行压力探测的频率较高,以获得接口在被高压访问或请求时的状态;也就是说,即使接口能够连通,但假如丢失的情况过多或者第一响应时间过长,则表征该接口的性能仍然是存在问题的,因此若仅仅通过判断是否连通就取消熔断,由于上游接口性能低下,仍然会对本地端的系统造成影响;但是触发该步骤中的压力探测行为是在连通性探测表征接口可连通的基础上进行的;
S3.根据压力探测的第一状态信息以及第一响应时间,判断接口的性能参数是否达到预设的第一性能阈值;
也就是说,性能参数是通过多次压力探测后的第一状态信息以及第一响应时间得到的;预先设置得到预设的第一性能阈值中包括的参数类型与性能参数一致(即同样包括上述的第一状态信息以及第一响应时间);一般的,由于压力探测是高并发探测行为,因此第一状态信息以及第一响应时间也是分别存在多个的,此外,由于每个第一响应时间是针对特定的一次压力探测的,因而,在第一状态信息表征可连通的时候,其都对应有一个第一响应时间;
S4.在接口的性能参数达到预设的第一性能阈值时取消熔断状态;
也就是说,当接口的性能参数中的第一状态信息显示:在压力测试下综合得到的数据中的第一状态信息以及第一响应时间达到预设的性能指标时,则取消与接口之间的熔断状态,进而可以向被请求方进行访问,请求数据。
本实施例中的方法通过先探测接口的连通性,再探测接口性能;在接口不可用时,只进行连通性探测可以避免资源浪费;并且可以避免出现因为上游的接口异常,而影响下游正常对外提供服务的情况,保证下游服务的稳定性和可用性。可选的,实现本申请方法的装置可以独立于请求方存在,因此可以代替请求方进行取消熔断探测,进一步避免资源浪费。
如图2所示,在一些实施例中,如前述的方法,其中步骤S2.根据压力探测的第一状态信息以及第一响应时间判断接口的性能参数是否达到预设的第一性能阈值,具体包括如下所述步骤S21至S23:
S21.根据预设周期内的所有压力探测的第一状态信息计算平均成功率;
具体的,预设周期为预先设置有一时长的时间周期;
S22.根据预设周期内的所有压力探测的第一响应时间计算平均响应时间;
也就是说,获取在上述预设周期的时长内的所有压力探测的结果,并得到每次压力探测的第一状态信息和第一响应时间;然后进行根据该预设周期内的所有第一状态信息得到平均成功率(成功次数/探测次数),以及根据预设周期内的每次的第一响应时间得到平均响应时间(总第一响应时间/探测次数);
S23.根据平均成功率以及平均响应时间判断接口的性能参数是否达到预设的第一性能阈值。
也就是说,接口是否启用,是根据平均成功率以及平均响应时间来进行判断的,并且在平均成功率以及平均响应时间达到预设的第一性能阈值,判定接口的性能参数达标时,才会启用。因此,通过该实施例中的方法可以考虑固定时长(即所述预设周期)内的所有压力探测的结果,并得到平均后的结果,因而采用该方法可以更加准确地反应接口的整体性能水平。
在一些实施例中,如前述的方法,其中步骤S23.根据平均成功率以及平均响应时间判断接口的性能参数是否达到预设的第一性能阈值,具体包括如下所述步骤S231和S232:
步骤S231.当连续N个周期的所述平均成功率均满足预设成功率要求,且连续N个周期的平均响应时间均满足预设响应时间要求时,判定接口的性能参数达到预设的第一性能阈值;
步骤S232.当连续N个周期中至少存在一个周期的平均成功率不满足预设成功率要求,或连续N个周期中至少存在一个周期的平均响应时间不满足预设响应时间要求时,判定接口的性能参数未达到预设的第一性能阈值;N为大于等于1的整数。
具体的,由于接口可以存在一段时间稳定,一段时间存在异常的情况,因此,通过一个周期内的平均成功率进行判断是否取消熔断还是有较大的特异性;此外,假如将N个预设周期统一为一个计算周期计算平均成功率,那么其中某一段时间的异常也会被平均到整体时长中去;因此,通过上述两种方案无法准确表征接口的性能,而采用本实施例中N个预设周期的平均成功率得到第一比较结果则可以有效克服上述两种方案中存在的问题;在一些应用场景中,N个预设周期在时间上连续,举例来说,可以是:相邻两个周期中,前一周期的结束时间即为后一周期的起始时间。
此外,由于接口可以存在一段时间响应速度快,一段时间存在响应速度慢的情况,因此,通过一个周期内的平均响应时间进行判断是否取消熔断还是有较大的特异性;此外,假如将N个预设周期统一为一个计算周期计算平均成功率,那么其中某一段时间的响应速度慢的情况也会被平均到整体时长中去;因此,通过上述两种方案无法准确表征接口的性能,而采用本实施例中N个预设周期的平均响应时间得到第一比较结果则可以有效克服上述两种方案中存在的问题。
判定接口的性能参数是否达到预设的第一性能阈值,具体来说为:需要每个预设周期的平均成功率都满足预设成功率要求(例如:大于或等于某一预设成功率阈值,或大于某一预设成功率阈值),且,每个预设周期的平均响应时间均满足预设响应时间要求(例如:小于或等于预设响应时间阈值,或小于预设响应时间阈值)时,才会取消与被请求方之间的熔断状态;即,判定接口的性能参数达到预设的第一性能阈值需要同时满足预设成功率要求以及预设响应时间要求,因此获取平均成功率的N个周期与获取平均响应时间的N个周期时间上相同。举例来说:假如第1周期-第6周期的平均成功率均满足预设成功率要求,则需要第1周期-第6周期的平均响应时间均预设响应时间要求时,才可以判定接口的性能参数达到预设的第一性能阈值。
因此采用本实施例中的上述方法可以有效避免某一时段中异常情况无法被准确分析、并准确体现出来的情况。
在一些实施例中,如前述的方法,
所述对接口进行连通性探测,包括:
对接口按照预设的第一频率进行连通性探测;
所述对所述接口进行压力探测,包括:
对所述接口按照预设的第二频率进行压力探测;
其中,所述第二频率高于第一频率,一般的,第二频率远高于第一频率;因此相对来说,连通性探测是低并发的探测行为,而压力探测则是高并发的探测行为;
也就是说,在所述第一探测结果表征接口连通时,才对接口按照预设的第二频率进行的压力探测,并得到每次压力探测的第一状态信息以及第一响应时间;之所以在压力探测之前先进行连通性探测,且压力探测的第二频率远高于连通性探测的第一频率,是因为高并发的压力探测会占用过多的系统资源,而以低并发的连通性探测确定被请求方的接口能够联通之后再进行压力探测,则可以有效节约系统资源。
在一些实施例中,如前述的方法,在对接口进行的压力探测的同时,还包括如下所述步骤B1和B2:
步骤B1.持续对接口按照预设的第一频率进行连通性探测,并得到第二探测结果。
具体的,本实施例中的方法步骤是在对接口进行压力探测的同时进行的连通性探测,因此,第二探测结果与第一探测结果的区别在于:两者是在不同的阶段进行探测后得到的。
步骤B2.在第二探测结果表征接口不可用时,停止对接口按照预设的第二频率进行压力探测;其中,第二频率高于第一频率。
也就是说,当在进行压力探测的时候,若出现连通性的探测结果表征的是接口处于断开状态,则停止进行压力探测;然后使系统退回至只进行连通性探测,避免系统资源发生不必要的浪费。
在一些实施例中,如前述的方法,在取消熔断状态之后,还包括如下所述步骤A1至A4:
步骤A1.接收被请求方根据数据请求并通过接口返回的响应信息。
也就是说,在接口处于连通状态下,并且请求方向被请求方进行数据请求之后;被请求方通过上述的接口返回了响应信息;该响应信息是被请求方根据数据请求反馈的信息。
步骤A2.根据所述响应信息得到所述接口在连通状态下的第二状态信息和第二响应时间;其中,所述第二状态信息用于表征数据请求是否成功。
具体的,响应信息包括返回的数据、第二状态信息和第二响应时间;其中,若第二状态信息表征没有返回请求的数据或第二响应时间超过预设时长,都表征接口出现故障。
步骤A3.根据所述第二状态信息以及第二响应时间判断所述接口的性能参数是否达到预设的第二性能阈值。
一般的,由于接口服务的抖动或者短时间的异常是很常见的,因此一般也采用对一时间段中的第二状态信息以及第二响应时间进行处理,得到平均成功率和平均响应时间,并通过平均成功率和平均响应时间判断接口是否能够提供正常的服务。
步骤A4.在所述接口未达到所述预设的第二性能阈值时,触发熔断。
具体的,其中一种应用为,每隔一段时间计算出该段时间的平均成功率Savg和平均响应时间Tavg,如果Savg<Sy或者Tavg>Ty,其中:Sy为触发熔断成功率阈值,Ty为触发熔断第一响应时间阈值;即平均成功率小于熔断成功率阈值或者平均接口第一响应时间超过熔断第一响应时间阈值,则触发熔断;进一步的,第一性能阈值与第二性能阈值可以相同,也可以不同,可以根据实际情况进行选择。本实施例根据相应的“第二状态信息和第二响应时间”判断是否触发熔断,相对于相关技术中只会通过判断是否收到响应信息进行判断,能够对接口性能有更好的评判效果,因此不仅仅会在接口无法使用时进行熔断,还可以在接口性能差的时候进行熔断。
如图3所示,在一些实施例中,如前述的方法,在取消熔断状态之前,还包括如下所述步骤S5和S6:
S5.接收请求方发起的接口调用请求;
也就是说,请求方是通过本方法对应的装置向接口发起请求的;在熔断状态下,接收到请求方向接口发起的接口调用请求;
S6.根据熔断状态以及接口调用请求,向请求方返回接口调用失败信息;
具体的,接口调用失败信息为用于表征无法向接口请求数据的信息;由于当前处于熔断状态,因此无法向接口请求数据,因此会生成接口调用失败信息;然后根据接口调用请求确定请求方的地址,并以此向其返回接口调用失败信息;此外,本实施例对应的方法的实现主体可以是独立于请求方的,因此无需请求方每隔一段时间取消熔断,重新请求上游接口,可以避免在上游接口仍不可用时,请求方再进入熔断状态,并以此往复持续进行探测,进而可避免出现造成大量资源的浪费,并影响请求方的下游服务的稳定性和可用性等情况,能够有效提高上下游系统的稳定性。
如图4所示,在本发明实施的第二方面,还提供了一种调整熔断的装置,包括:连通探测模块1、压力探测模块2、统计模块3和调度模块4;
连通探测模块1,用于在熔断状态下,接收调度模块的调度,对被请求方的接口进行连通性探测,并得到第一探测结果。
压力探测模块2,用于在第一探测结果表征接口连通时,接收调度模块的调度,对接口进行压力探测,得到每次压力探测的第一状态信息以及第一响应时间;其中,第一状态信息用于表征探测是否成功。
统计模块3,用于接收调度模块的转发的压力探测的第一状态信息以及第一响应时间,并根据压力探测的第一状态信息以及第一响应时间判断接口的性能参数是否达到预设的第一性能阈值,在接口的性能参数是否达到预设的第一性能阈值时取消熔断状态;由统计模块下发取消熔断事件。
调度模块4,用于对连通探测模块和压力探测模块进行调用,并向统计模块转发数据,调度模块接收到取消熔断事件后,将该装置的当前状态设置为连通状态。
具体的,在一些应用中,可以通过配置连通性探测接口请求链接实现调用连通探测模块1进行连通性探测,当连通性探测显示接口能够连通之后,通过配置的压力探测接口请求链接U压力(用于通过调用连通探测模块1进行连通性探测)和压力探测Q压力(用于启动压力探测模块2),并将压力探测结果投递至统计模块3。
其中一种可选的应用例中,还可以包括接口请求线程池13,并可以通过如图5所示的装置实现本实施例中装置对应的功能,如图5所示,其包括:调度模块11、统计模块12、接口请求线程池13、连通探测线程池14、压力探测线程池15共五部分组成。
其中,调度模块11(对应于图4所示装置中的调度模块4)主要功能是调度事件;统计模块12(对应于图4所示装置中的统计模块3)主要功能是对接口请求的成功率、响应时间、QPS(压力探测)等指标进行统计,触发或取消熔断事件;接口请求线程池13完成正常状态下装置使用方的接口调用请求,连通探测线程池14(对应于图4所示装置中的连通探测模块1)和压力探测线程池15(对应于图4所示装置中的压力探测模块2)主要完成熔断状态下装置主动探测的接口请求。
如图6所示,当本应用例中的装置在正常状态下时,接口调用方16(即请求方)通过该装置向其他业务方17(即被请求方)请求数据,请求经调度模块,从接口请求线程池中分配线程完成请求,其返回状态和响应时间投入到统计模块,请求结果返回至调用方。
如图7所示,当本应用例中的装置处于熔断状态下时,调度模块11在接收到接口调用方16的接口调用请求时,会直接返回失败,起到熔断的作用。另一方面,当装置从正常状态进入熔断状态后,调度模块11首先通过连通探测线程池14,使用配置的连通性探测接口请求链接U连通进行接口连通性探测,直到U连通请求结果正常。
当连通探测正常后,调度模块11通过压力探测线程池15,使用配置的压力探测接口请求链接U压力和压力探测Q压力,来启动压力探测,并将探测结果投递至统计模块12,如图8所示。压力探测期间连通性探测一直保持,如遇到连通性探测突然失败,则压力探测终止,装置回退至连通探测阶段。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的装置,所述统计模块包括:
第一计算子模块,用于根据预设周期内的所有压力探测的第一状态信息计算平均成功率;
第二计算子模块,用于根据所述预设周期内的所有压力探测的第一响应时间计算平均响应时间;
判断子模块,用于根据所述平均成功率以及平均响应时间判断所述接口的性能参数是否达到预设的第一性能阈值。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
本申请实施例还提供一种电子设备,包括:如图9所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现上述方法实施例的步骤。
上述电子设备提到的总线可以是外设部件互连标准(Peripheral ComponentInterconnect,P C I)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述方法实施例的步骤。
需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种调整熔断的方法,其特征在于,包括:
在熔断状态下,对被请求方的接口进行连通性探测,并得到第一探测结果;
在所述第一探测结果表征所述接口连通时,对所述接口进行压力探测,并得到每次压力探测的第一状态信息以及第一响应时间;其中,所述第一状态信息用于表征探测是否成功;
根据所述压力探测的第一状态信息以及第一响应时间判断所述接口的性能参数是否达到预设的第一性能阈值,包括:根据预设周期内的所有压力探测的第一状态信息计算平均成功率;根据所述预设周期内的所有压力探测的第一响应时间计算平均响应时间;根据所述平均成功率以及平均响应时间判断所述接口的性能参数是否达到预设的第一性能阈值,包括:当连续N个周期的所述平均成功率均满足预设成功率要求,且所述连续N个周期的所述平均响应时间均满足预设响应时间要求时,判定所述接口的性能参数达到预设的第一性能阈值;当连续N个周期中至少存在一个周期的所述平均成功率不满足所述预设成功率要求,或连续N个周期中至少存在一个周期的所述平均响应时间不满足所述预设响应时间要求时,判定所述接口的性能参数未达到预设的第一性能阈值;N为大于等于1的整数;
在所述接口的性能参数达到预设的第一性能阈值时,取消熔断状态;
接收所述被请求方通过所述接口返回的响应信息,所述响应信息是所述被请求方根据请求方发送的数据请求生成的;根据所述响应信息得到所述接口在连通状态下的第二状态信息和第二响应时间;其中,所述第二状态信息用于表征所述请求方是否成功获得所述响应信息;根据所述第二状态信息以及第二响应时间判断所述接口的性能参数是否达到预设的第二性能阈值;在所述接口未达到所述第二性能阈值时,触发熔断。
2.根据权利要求1所述的方法,其特征在于,在对所述接口进行的压力探测的同时,还包括:
持续对所述接口按照预设的第一频率进行连通性探测,并得到第二探测结果;
在所述第二探测结果表征接口不可用时,停止对所述接口按照预设的第二频率进行压力探测。
3.根据权利要求1所述的方法,其特征在于,在取消熔断状态之前,还包括:
接收请求方发起的接口调用请求;
根据熔断状态以及接口调用请求,向所述请求方返回接口调用失败信息。
4.一种调整熔断的装置,其特征在于,包括:连通探测模块、压力探测模块、统计模块和调度模块;
所述连通探测模块,用于在熔断状态下,接收调度模块的调度,对被请求方的接口进行连通性探测,并得到第一探测结果;
所述压力探测模块,用于在所述第一探测结果表征接口连通时,接收所述调度模块的调度,对所述接口进行压力探测,得到每次压力探测的第一状态信息以及第一响应时间;其中,所述第一状态信息用于表征探测是否成功;
所述统计模块,用于接收所述调度模块的转发的所述压力探测的第一状态信息以及第一响应时间,并根据所述压力探测的第一状态信息以及第一响应时间判断所述接口的性能参数是否达到预设的第一性能阈值,在所述接口的性能参数达到预设的第一性能阈值时取消熔断状态;
所述调度模块,用于对所述连通探测模块和压力探测模块进行调用,并向所述统计模块转发数据;
所述统计模块包括:第一计算子模块,用于根据预设周期内的所有压力探测的第一状态信息计算平均成功率;第二计算子模块,用于根据所述预设周期内的所有压力探测的第一响应时间计算平均响应时间;判断子模块,用于根据所述平均成功率以及平均响应时间判断所述接口的性能参数是否达到预设的第一性能阈值,包括:当连续N个周期的所述平均成功率均满足预设成功率要求,且所述连续N个周期的所述平均响应时间均满足预设响应时间要求时,判定所述接口的性能参数达到预设的第一性能阈值;当连续N个周期中至少存在一个周期的所述平均成功率不满足所述预设成功率要求,或连续N个周期中至少存在一个周期的所述平均响应时间不满足所述预设响应时间要求时,判定所述接口的性能参数未达到预设的第一性能阈值;N为大于等于1的整数;
还包括一模块,用于:接收所述被请求方通过所述接口返回的响应信息,所述响应信息是所述被请求方根据请求方发送的数据请求生成的;根据所述响应信息得到所述接口在连通状态下的第二状态信息和第二响应时间;其中,所述第二状态信息用于表征所述请求方是否成功获得所述响应信息;根据所述第二状态信息以及第二响应时间判断所述接口的性能参数是否达到预设的第二性能阈值;在所述接口未达到所述第二性能阈值时,触发熔断。
5.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-3任一所述的方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,在所述计算机程序被处理器执行时实现如权利要求1-3中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911358620.1A CN111104213B (zh) | 2019-12-25 | 2019-12-25 | 调整熔断的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911358620.1A CN111104213B (zh) | 2019-12-25 | 2019-12-25 | 调整熔断的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111104213A CN111104213A (zh) | 2020-05-05 |
CN111104213B true CN111104213B (zh) | 2023-10-10 |
Family
ID=70424748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911358620.1A Active CN111104213B (zh) | 2019-12-25 | 2019-12-25 | 调整熔断的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104213B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111770134B (zh) * | 2020-05-25 | 2024-03-29 | 国电南瑞科技股份有限公司 | 一种基于服务质量的服务熔断方法 |
CN113765971A (zh) * | 2020-10-12 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 控制接口的方法、装置、设备和计算机可读介质 |
CN115333919B (zh) * | 2022-08-09 | 2023-11-07 | 贵州多彩新媒体股份有限公司 | 一种旁挂式信息安全监测方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012051778A1 (zh) * | 2010-10-22 | 2012-04-26 | 中兴通讯股份有限公司 | 多媒体消息业务中实现网元业务切换的系统及方法 |
CN102761476A (zh) * | 2012-03-30 | 2012-10-31 | 杭州华三通信技术有限公司 | 一种负载均衡的方法及装置 |
CN105531685A (zh) * | 2013-09-06 | 2016-04-27 | 思科技术公司 | 通用pci express端口 |
CN106776099A (zh) * | 2017-01-11 | 2017-05-31 | 北京皮尔布莱尼软件有限公司 | 一种服务熔断隔离系统和方法 |
WO2019144458A1 (zh) * | 2018-01-23 | 2019-08-01 | 平安科技(深圳)有限公司 | 数据传输处理方法、装置、设备及计算机可读存储介质 |
CN110309016A (zh) * | 2019-06-13 | 2019-10-08 | 北京奇艺世纪科技有限公司 | 一种熔断恢复方法、装置及服务器 |
-
2019
- 2019-12-25 CN CN201911358620.1A patent/CN111104213B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012051778A1 (zh) * | 2010-10-22 | 2012-04-26 | 中兴通讯股份有限公司 | 多媒体消息业务中实现网元业务切换的系统及方法 |
CN102761476A (zh) * | 2012-03-30 | 2012-10-31 | 杭州华三通信技术有限公司 | 一种负载均衡的方法及装置 |
CN105531685A (zh) * | 2013-09-06 | 2016-04-27 | 思科技术公司 | 通用pci express端口 |
CN106776099A (zh) * | 2017-01-11 | 2017-05-31 | 北京皮尔布莱尼软件有限公司 | 一种服务熔断隔离系统和方法 |
WO2019144458A1 (zh) * | 2018-01-23 | 2019-08-01 | 平安科技(深圳)有限公司 | 数据传输处理方法、装置、设备及计算机可读存储介质 |
CN110309016A (zh) * | 2019-06-13 | 2019-10-08 | 北京奇艺世纪科技有限公司 | 一种熔断恢复方法、装置及服务器 |
Non-Patent Citations (1)
Title |
---|
盛稳 ; 成晓强 ; 桂志鹏 ; 曹军 ; 吴华意 ; .基于服务监测的WMS服务可用性调查及其影响因素探究.地理与地理信息科学.2018,(02),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111104213A (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104213B (zh) | 调整熔断的方法及装置 | |
CN109743358B (zh) | 异步消息接口熔断控制方法、装置、计算机设备及存储介质 | |
US8145950B2 (en) | Execution of a plugin according to plugin stability level | |
CN109981737B (zh) | 一种网络请求的处理方法、装置、终端及存储介质 | |
CN108400904B (zh) | 一种基于微服务架构的健康检查方法和装置 | |
JP4747307B2 (ja) | ネットワーク処理制御装置,プログラムおよび方法 | |
WO2021254331A1 (zh) | 资源管理方法、系统、代理服务器及存储介质 | |
JP2023089891A (ja) | クラスタの容量拡張方法及び装置 | |
US20210126871A1 (en) | Outlier event autoscaling in a cloud computing system | |
CN111405024A (zh) | 一种业务处理方法、网关、电子设备及存储介质 | |
CN111355664A (zh) | 一种流量控制方法及装置 | |
CN108235800B (zh) | 一种网络故障探测方法、控制中心设备及计算机存储介质 | |
US11836528B2 (en) | Throttling thread resources of service computing platform | |
CN109815067B (zh) | 压力测试方法、装置、计算机设备及计算机可读存储介质 | |
CN111324477A (zh) | 一种分布式熔断的处理方法及装置 | |
WO2020037607A1 (zh) | 一种传输数据的方法和装置 | |
CN110865895B (zh) | 访问流量控制方法、装置、电子设备及存储介质 | |
CN111193760B (zh) | 一种信息发送方法、装置及存储介质 | |
CN114422530A (zh) | 流量控制方法、装置和计算机设备和存储介质 | |
CN118051346B (zh) | 请求动态限流方法、装置、电子设备和可读存储介质 | |
CN110944051B (zh) | 负载均衡的实现方法、装置、电子设备和存储介质 | |
JP2010122818A (ja) | コンピュータシステム及びコンピュータ | |
CN110737649A (zh) | 一种数据库的事务日志的处理方法、设备以及存储介质 | |
CN116962416A (zh) | 一种服务下线方法、装置及存储介质 | |
CN114979285B (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 |