一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

熔断保护方法、装置、计算机设备、存储介质和程序产品与流程

2022-04-24 23:07:23 来源:中国专利 TAG:


1.本技术涉及大数据技术领域,特别是涉及一种熔断保护方法、装置、计算机设备、存储介质和程序产品。


背景技术:

2.随着分布式技术和云计算技术的发展,分布式应用在网络服务中的占比逐渐增大,其中,分布式应用指的是应用程序分布在不同计算机上,通过不同计算机之间的相互调用应用程序,将一系列独立部署的应用程序串联起来共同完成一项任务。分布式应用能够提供高性能的服务,但分布式应用有其自身的运维缺点:在应用运行的状态下,若分布式应用中某一链路上的某个服务发生故障,那么整个链路将不可用。为了保证分布式应用的稳定性和可用性,现有技术是通过熔断保护方法将故障服务进行熔断,其中,熔断为在某一服务发生故障的情况下,暂时切断或者永久切断该服务。但是,现有技术中的分布式应用的熔断保护方法的灵活性不高。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种能够提高分布式应用中熔断保护灵活性的熔断保护方法、装置、计算机设备、存储介质和程序产品。
4.第一方面,本技术提供了一种熔断保护方法,该方法包括:对于分布式应用包括的各服务,加载与服务对应的熔断规则,熔断规则包括自定义异常处理接口和自定义的熔断触发条件,自定义异常处理接口包括用户自定义的熔断逻辑;基于熔断规则中的熔断触发条件确定服务是否处于异常状态;若服务处于异常状态,则调用熔断规则中的自定义异常处理接口对服务执行熔断操作。
5.在其中一个实施例中,熔断规则中的熔断触发条件包括:资源名称、运行指标参数以及运行指标参数对应的熔断阈值,资源名称用于标识熔断规则对应的服务。
6.在其中一个实施例中,运行指标参数包括并发数,熔断阈值包括第一阈值,并发数表征服务在运行状态下承载的用户数量,基于熔断规则中的熔断触发条件确定服务是否处于异常状态,包括:若服务的并发数大于第一阈值,则确定服务处于异常状态。
7.在其中一个实施例中,运行指标参数包括tps,熔断阈值包括第二阈值,tps表征服务在单位时间内处理的事务的个数,基于熔断规则中的熔断触发条件确定服务是否处于异常状态,包括:若服务的tps大于第二阈值,则确定服务处于异常状态。
8.在其中一个实施例中,该方法还包括:在自定义的熔断逻辑包括获取熔断的日志信息和熔断的异常信息的情况下,通过调用熔断规则中的自定义异常处理接口,获取日志信息和异常信息。
9.在其中一个实施例中,加载与服务对应的熔断规则之前,该方法还包括:在源代码的classpath目录下的子目录meta-inf/degrade/rules中,新建熔断规则文件,熔断规则文件使用对应的资源名称进行命名。
10.第二方面,本技术还提供了一种熔断保护装置,该装置包括:加载模块,用于对于分布式应用包括的各服务,加载与服务对应的熔断规则,熔断规则包括自定义异常处理接口和自定义的熔断触发条件,自定义异常处理接口包括用户自定义的熔断逻辑;确定模块,用于基于熔断规则中的熔断触发条件确定服务是否处于异常状态;执行模块,用于若服务处于异常状态,则调用熔断规则中的自定义异常处理接口对服务执行熔断操作。
11.在其中一个实施例中,熔断规则中的熔断触发条件包括:资源名称、运行指标参数以及运行指标参数对应的熔断阈值,资源名称用于标识熔断规则对应的服务。
12.在其中一个实施例中,运行指标参数包括并发数,熔断阈值包括第一阈值,并发数表征服务在运行状态下承载的用户数量,该确定模块,具体用于:若服务的并发数大于第一阈值,则确定服务处于异常状态。
13.在其中一个实施例中,运行指标参数包括tps,熔断阈值包括第二阈值,tps表征服务在单位时间内处理的事务的个数,该确定模块,具体用于:若服务的tps大于第二阈值,则确定服务处于异常状态。
14.在其中一个实施例中,该装置还包括:获取模块,用于在自定义的熔断逻辑包括获取熔断的日志信息和熔断的异常信息的情况下,通过调用熔断规则中的自定义异常处理接口,获取日志信息和异常信息。
15.在其中一个实施例中,该装置还包括:构建模块,用于在源代码的classpath目录下的子目录meta-inf/degrade/rules中,新建熔断规则文件,熔断规则文件使用对应的资源名称进行命名。
16.第三方面,本技术还提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现上述第一方面任一项所述的方法的步骤。
17.第四方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面任一项所述的方法的步骤。
18.第五方面,本技术还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面任一项所述的方法的步骤。
19.本技术实施例提供的技术方案带来的有益效果至少包括:
20.在本技术实施例中,对于分布式应用包括的各服务,在各服务处于运行的状态下,首先,加载与服务对应的熔断规则,熔断规则包括自定义异常处理接口和自定义的熔断触发条件,自定义异常处理接口包括用户自定义的熔断逻辑;其次,基于熔断规则中的熔断触发条件确定服务是否处于异常状态;最后,若服务处于异常状态,则调用熔断规则中的自定义异常处理接口对服务执行熔断操作。可以看出,在本技术实施例中,基于用户自定义的熔断逻辑以及自定义的熔断触发条件,对异常状态对应的服务进行熔断,提高了分布式应用中的熔断保护的灵活性。
附图说明
21.图1为本技术实施例提供的一种实施环境的示意图;
22.图2为本技术实施例提供的一种熔断保护方法的流程图;
23.图3为本技术实施例提供的一种确定服务是否处于异常状态的技术过程的流程
图;
24.图4为本技术实施例提供的另一种确定服务是否处于异常状态的技术过程的流程图;
25.图5为本技术实施例提供的一种熔断保护方法的流程图;
26.图6为本技术实施例提供的一种熔断保护装置的框图;
27.图7为本技术实施例提供的另一种熔断保护装置的框图;
28.图8为本技术实施例提供的一种计算机设备的内部结构图。
具体实施方式
29.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
30.随着分布式技术和云计算技术的发展,分布式应用在网络服务中的占比逐渐增大,其中,分布式应用指的是应用程序分布在不同计算机上,通过不同计算机之间的相互调用应用程序,将一系列独立部署的应用程序串联起来共同完成一项任务。分布式应用能够提供高性能的服务,但分布式应用有其自身的运维缺点:在应用运行的状态下,若分布式应用中某一链路上的某个服务发生故障,那么整个链路将不可用。为了保证分布式应用的稳定性和可用性,现有技术是通过熔断保护方法将故障服务进行熔断,其中,熔断为在某一服务发生故障的情况下,暂时切断或者永久切断该服务。但是,现有技术中的分布式应用的熔断保护方法的灵活性不高。
31.有鉴于此,本技术实施例提供了一种熔断保护方法、装置、计算机设备、存储介质和程序产品,利用该熔断保护方法能够提高分布式应用中的熔断保护的灵活性。
32.请参见图1,其示出了本技术实施例提供的熔断保护方法所涉及的实施环境的示意图。如图1所示,本技术实施例提供的熔断保护方法的执行主体可以是一台计算机设备,也可以为由多台计算机设备组成的计算机设备集群。不同的计算机设备之间可以通过有线或无线方式的进行通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。
33.请参见图2,其示出了本技术实施例提供的一种熔断保护方法的流程图,该熔断保护方法可以应用于图1所示的计算机设备中。如图2所示,该熔断保护方法可以包括以下步骤:
34.步骤201、计算机设备对于分布式应用包括的各服务,加载与服务对应的熔断规则。
35.其中,熔断规则包括自定义异常处理接口和自定义的熔断触发条件,自定义异常处理接口包括用户自定义的熔断逻辑,自定义的熔断触发条件包括资源名称、运行指标参数以及运行指标参数对应的熔断阈值,其中,资源名称用于标识熔断规则对应的服务,自定义的熔断逻辑包括获取熔断的日志信息和熔断的异常信息,可选的,熔断逻辑还可以包括获取其他用户自定义的信息。可选的,熔断的日志信息可以包括熔断的发生时间和熔断对应的资源名称等日志信息,用户可以根据自身的需求自定义熔断逻辑,从而获取到对应的日志信息;熔断的异常信息可以包括熔断发生的情况下对应的运行指标参数等异常信息,
用户可以根据自身的需求自定义熔断逻辑,从而获取到对应的异常信息;本技术对熔断的日志信息和熔断的异常信息不作限定。
36.可选的,熔断规则可以通过如下json数据进行表示:
37.{
38."resource":"${resource}",
39."type":"tps/concurrency",
40."threshold":"${num}",
41."exceptionhanlder":"${handler_class}"
42.}
43.其中,resource为资源名称,资源名称用于标识熔断规则对应的服务;type为阈值类型,可以是tps或者并发数;threshold为运行指标参数对应的熔断阈值;exceptionhanlder为自定义异常处理接口对应的类。
44.在本技术的可选实施例中,在自定义的熔断逻辑包括获取熔断的日志信息和熔断的异常信息的情况下,可以通过调用熔断规则中的自定义异常处理接口,来获取日志信息和异常信息。可选的,自定义异常处理接口可以为customexceptionhandler接口,可以基于customexceptionhandler接口编写完整的自定义异常处理接口对应的代码类。可选的,在自定义的熔断逻辑包括获取熔断的日志信息和熔断的异常信息的情况下,可以按照以下的方式实现自定义异常处理接口:
45.package com.demo.degrade;
46.public class logexceptionbeforedegradinghandler implements customexceptionhandler{
47.private logger logger=
48.loggerfactory.getlogger(logexceptionbeforedegradinghandler.class);
49.@override
50.public void handle(string resource,exception ex){
51.logger.warn(string.format("resource%s is degraded due
52.to%s",resource,ex.getmessage()));
53.}
54.}
55.可选的,用户可以将获取熔断的日志信息和熔断的异常信息的熔断逻辑写入上述自定义异常处理接口对应的类里,在服务处于异常状态的情形下,熔断对应的sdk可以加载该类以调用自定义异常处理接口,从而获取到熔断的日志信息和熔断的异常信息。
56.在本技术的另一可选实施例中,加载与服务对应的熔断规则之前,该熔断保护方法还包括:在源代码的classpath目录下的子目录meta-inf/degrade/rules中,新建熔断规则文件,熔断规则文件使用对应的资源名称进行命名。其中,熔断规则文件的内容格式可以参考上文中的json数据。
57.步骤202、计算机设备基于熔断规则中的熔断触发条件确定服务是否处于异常状态。
58.其中,熔断触发条件包括资源名称、运行指标参数以及运行指标参数对应的熔断
阈值,在运行指标参数与运行指标参数对应的熔断阈值满足用户自定义的关系的条件下,可以确定服务处于异常状态。在本技术实施例中,对运行指标参数与运行指标参数对应的熔断阈值满足何种条件的情况下,服务处于异常状态,不作具体的限定。
59.步骤203、若服务处于异常状态,则计算机设备调用熔断规则中的自定义异常处理接口对服务执行熔断操作。
60.在服务处于异常状态的情况下,计算机设备调用熔断规则中的自定义异常处理接口对服务执行熔断操作,其中,执行何种熔断操作,由自定义异常处理接口中包括的用户自定义的熔断逻辑决定。
61.在本技术实施例中,对于分布式应用包括的各服务,在各服务处于运行的状态下,首先,加载与服务对应的熔断规则,熔断规则包括自定义异常处理接口和自定义的熔断触发条件,自定义异常处理接口包括用户自定义的熔断逻辑;其次,基于熔断规则中的熔断触发条件确定服务是否处于异常状态;最后,若服务处于异常状态,则调用熔断规则中的自定义异常处理接口对服务执行熔断操作。可以看出,在本技术实施例中,基于用户自定义的熔断逻辑以及自定义的熔断触发条件,对异常状态对应的服务进行熔断,提高了分布式应用中的熔断保护的灵活性。
62.请参见图3,在本技术的可选实施例中,提供了一种确定服务是否处于异常状态的技术过程。如图3所示,该确定服务是否处于异常状态的技术过程可以包括以下步骤:
63.步骤301、计算机设备获取服务的并发数。
64.其中,服务的并发数表征服务在运行状态下承载的用户数量。
65.步骤302、若服务的并发数大于第一阈值,则计算机设备确定服务处于异常状态。
66.其中,第一阈值为熔断阈值,在服务的并发数大于第一阈值的情况下,确定服务处于异常状态。若服务处于异常状态,则调用熔断规则中的自定义异常处理接口对服务执行熔断操作。
67.在本技术的另一可选实施例中,提供了另一种确定服务是否处于异常状态的技术过程。如图4所示,该确定服务是否处于异常状态的技术过程可以包括以下步骤:
68.步骤401、计算机设备获取服务的tps。
69.其中,服务的tps表征服务在单位时间内处理的事务的个数。
70.步骤402、若服务的tps大于第二阈值,则计算机设备确定服务处于异常状态。
71.其中,第二阈值为熔断阈值,在服务的tps大于第二阈值的情况下,确定服务处于异常状态。若服务处于异常状态,则调用熔断规则中的自定义异常处理接口对服务执行熔断操作。
72.在本技术实施例中,对于分布式应用包括的各服务,在各服务处于运行的状态下,可以根据用户自定义的运行指标参数与用户自定义的熔断阈值之间的关系,来确定服务是否处于异常状态,进而对异常状态对应的服务进行熔断,提高了熔断保护的灵活性。
73.请参见图5,其示出了本技术实施例提供的一种熔断保护方法的流程图,该熔断保护方法可以应用于图1所示的计算机设备中。如图5所示,该熔断保护方法可以包括以下步骤:
74.步骤501、计算机设备对于分布式应用包括的各服务,加载与服务对应的熔断规则。
75.其中,熔断规则包括自定义异常处理接口和自定义的熔断触发条件,自定义异常处理接口包括用户自定义的熔断逻辑,熔断规则中的熔断触发条件包括:资源名称、运行指标参数以及运行指标参数对应的熔断阈值,资源名称用于标识熔断规则对应的服务。自定义的熔断逻辑包括获取熔断的日志信息和熔断的异常信息,可选的,熔断逻辑还可以包括获取其他用户自定义的信息。可选的,熔断的日志信息可以包括熔断的发生时间和熔断对应的资源名称等日志信息,用户可以根据自身的需求自定义熔断逻辑,从而获取到对应的日志信息;熔断的异常信息可以包括熔断发生的情况下对应的运行指标参数的异常信息,用户可以根据自身的需求自定义熔断逻辑,从而获取到对应的异常信息;本技术对熔断的日志信息和熔断的异常信息不作限定。
76.可选的,熔断规则可以通过如下json数据进行表示:
77.{
78."resource":"${resource}",
79."type":"tps/concurrency",
80."threshold":"${num}",
81."exceptionhanlder":"${handler_class}"
82.}
83.其中,resource为资源名称,资源名称用于标识熔断规则对应的服务;type为阈值类型,可以是tps或者并发数;threshold为运行指标参数对应的熔断阈值;exceptionhanlder为自定义异常处理接口对应的类。
84.在本技术的可选实施例中,在自定义的熔断逻辑包括获取熔断的日志信息和熔断的异常信息的情况下,可以通过调用熔断规则中的自定义异常处理接口,来获取日志信息和异常信息。可选的,自定义异常处理接口可以为customexceptionhandler接口,可以基于customexceptionhandler接口编写完整的自定义异常处理接口对应的代码类。可选的,在自定义的熔断逻辑包括获取熔断的日志信息和熔断的异常信息的情况下,可以按照以下的方式实现自定义异常处理接口:
85.package com.demo.degrade;
86.public class logexceptionbeforedegradinghandler implements customexceptionhandler{
87.private logger logger=
88.loggerfactory.getlogger(logexceptionbeforedegradinghandler.class);
89.@override
90.public void handle(string resource,exception ex){
91.logger.warn(string.format("resource%s is degraded due
92.to%s",resource,ex.getmessage()));
93.}
94.}
95.可选的,用户可以将获取熔断的日志信息和熔断的异常信息的熔断逻辑写入上述自定义异常处理接口对应的类里,在服务处于异常状态的情形下,熔断对应的sdk可以加载该类以调用自定义异常处理接口,从而获取到熔断的日志信息和熔断的异常信息。
96.在本技术的另一可选实施例中,加载与服务对应的熔断规则之前,该熔断保护方法还包括:在源代码的classpath目录下的子目录meta-inf/degrade/rules中,新建熔断规则文件,熔断规则文件使用对应的资源名称进行命名。其中,熔断规则文件的内容格式可以参考上文中的json数据。
97.步骤502、若运行指标参数为并发数,则计算机设备执行步骤503;若运行指标参数为tps,则计算机设备执行步骤505。
98.步骤503、计算机设备获取服务的并发数。
99.其中,服务的并发数表征服务在运行状态下承载的用户数量。
100.步骤504、若服务的并发数大于第一阈值,则计算机设备确定服务处于异常状态,执行步骤507。
101.其中,第一阈值为熔断阈值,在服务的并发数大于第一阈值的情况下,确定服务处于异常状态。
102.步骤505、计算机设备获取服务的tps。
103.其中,服务的tps表征服务在单位时间内处理的事务的个数。
104.步骤506、若服务的tps大于第二阈值,则计算机设备确定服务处于异常状态。
105.其中,第二阈值为熔断阈值,在服务的tps大于第二阈值的情况下,确定服务处于异常状态。
106.步骤507、若服务处于异常状态,则计算机设备调用熔断规则中的自定义异常处理接口对服务执行熔断操作。
107.在服务处于异常状态的情况下,计算机设备调用熔断规则中的自定义异常处理接口对服务执行熔断操作,其中,执行何种熔断操作,由自定义异常处理接口中包括的用户自定义的熔断逻辑决定。
108.在本技术的实施例中,对于分布式应用包括的各服务,在各服务处于运行的状态下,根据用户自定义的运行指标参数与用户自定义的熔断阈值之间的关系,来确定服务是否处于异常状态,若服务处于异常状态,则调用熔断规则中的自定义异常处理接口对服务执行熔断操作。由此可见,在服务处于异常状态的情况下,本技术实施例可以及时对异常状态对应的服务进行熔断,减小了故障的影响范围,提升了分布式应用系统的稳定性,并且,在提升分布式应用系统稳定性的同时,本技术实施例能够满足不同用户的个性化需求,基于用户自定义的熔断逻辑以及自定义的熔断触发条件,对异常状态对应的服务进行熔断,提高了分布式应用中的熔断保护的灵活性。
109.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
110.请参见图6,其示出了本技术实施例提供的一种熔断保护装置600的框图,该熔断保护装置可以配置于上述的计算机设备中。如图6所示,该熔断保护装置600包括加载模块
601、确定模块602以及执行模块603。
111.其中,加载模块601,用于对于分布式应用包括的各服务,加载与服务对应的熔断规则,熔断规则包括自定义异常处理接口和自定义的熔断触发条件,自定义异常处理接口包括用户自定义的熔断逻辑;确定模块602,用于基于熔断规则中的熔断触发条件确定服务是否处于异常状态;执行模块603,用于若服务处于异常状态,则调用熔断规则中的自定义异常处理接口对服务执行熔断操作。
112.在本技术的一个可选实施例中,熔断规则中的熔断触发条件包括:资源名称、运行指标参数以及运行指标参数对应的熔断阈值,资源名称用于标识熔断规则对应的服务。
113.在其中一个实施例中,运行指标参数包括并发数,熔断阈值包括第一阈值,并发数表征服务在运行状态下承载的用户数量,该确定模块602,具体用于:若服务的并发数大于第一阈值,则确定服务处于异常状态。
114.在其中一个实施例中,运行指标参数包括tps,熔断阈值包括第二阈值,tps表征服务在单位时间内处理的事务的个数,该确定模块602,具体用于:若服务的tps大于第二阈值,则确定服务处于异常状态。
115.请参见图7,其示出了本技术实施例提供的另一种熔断保护装置700的框图,熔断保护装置700除了包括熔断保护装置600的各模块外,还包括获取模块604以及构建模块605。
116.其中,获取模块604,用于在自定义的熔断逻辑包括获取熔断的日志信息和熔断的异常信息的情况下,通过调用熔断规则中的自定义异常处理接口,获取日志信息和异常信息;构建模块605,用于在源代码的classpath目录下的子目录meta-inf/degrade/rules中,新建熔断规则文件,熔断规则文件使用对应的资源名称进行命名。
117.本技术实施例提供的熔断保护装置,可以实现上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
118.上述熔断保护装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
119.在一个实施例中,提供了一种计算机设备,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种熔断保护方法。
120.本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
121.在本技术的一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:对于分布式应用包括的各服务,加载与服务对应的熔断规则,熔断规则包括自定义异常处理接口和自定义的熔断触发条件,自定义异常处理接口包括用户自定义的熔断逻辑;基于熔断规则中的熔断触发
条件确定服务是否处于异常状态;若服务处于异常状态,则调用熔断规则中的自定义异常处理接口对服务执行熔断操作。
122.在本技术的一个实施例中,熔断规则中的熔断触发条件包括:资源名称、运行指标参数以及运行指标参数对应的熔断阈值,资源名称用于标识熔断规则对应的服务。
123.在本技术的一个实施例中,运行指标参数包括并发数,熔断阈值包括第一阈值,并发数表征服务在运行状态下承载的用户数量,该处理器执行计算机程序时还实现以下步骤:若服务的并发数大于第一阈值,则确定服务处于异常状态。
124.在本技术的一个实施例中,运行指标参数包括tps,熔断阈值包括第二阈值,tps表征服务在单位时间内处理的事务的个数,该处理器执行计算机程序时还实现以下步骤:若服务的tps大于第二阈值,则确定服务处于异常状态。
125.在本技术的一个实施例中,该处理器执行计算机程序时还实现以下步骤:在自定义的熔断逻辑包括获取熔断的日志信息和熔断的异常信息的情况下,通过调用熔断规则中的自定义异常处理接口,获取日志信息和异常信息。
126.在本技术的一个实施例中,该处理器执行计算机程序时还实现以下步骤:在源代码的classpath目录下的子目录meta-inf/degrade/rules中,新建熔断规则文件,熔断规则文件使用对应的资源名称进行命名。
127.本技术实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
128.在本技术的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:对于分布式应用包括的各服务,加载与服务对应的熔断规则,熔断规则包括自定义异常处理接口和自定义的熔断触发条件,自定义异常处理接口包括用户自定义的熔断逻辑;基于熔断规则中的熔断触发条件确定服务是否处于异常状态;若服务处于异常状态,则调用熔断规则中的自定义异常处理接口对服务执行熔断操作。
129.在本技术的一个实施例中,熔断规则中的熔断触发条件包括:资源名称、运行指标参数以及运行指标参数对应的熔断阈值,资源名称用于标识熔断规则对应的服务。
130.在本技术的一个实施例中,运行指标参数包括并发数,熔断阈值包括第一阈值,并发数表征服务在运行状态下承载的用户数量,计算机程序被处理器执行时还实现以下步骤:若服务的并发数大于第一阈值,则确定服务处于异常状态。
131.在本技术的一个实施例中,运行指标参数包括tps,熔断阈值包括第二阈值,tps表征服务在单位时间内处理的事务的个数,计算机程序被处理器执行时还实现以下步骤:若服务的tps大于第二阈值,则确定服务处于异常状态。
132.在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:在自定义的熔断逻辑包括获取熔断的日志信息和熔断的异常信息的情况下,通过调用熔断规则中的自定义异常处理接口,获取日志信息和异常信息。
133.在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:在源代码的classpath目录下的子目录meta-inf/degrade/rules中,新建熔断规则文件,熔断规则文件使用对应的资源名称进行命名。
134.本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例
类似,在此不再赘述。
135.在本技术的一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:对于分布式应用包括的各服务,加载与服务对应的熔断规则,熔断规则包括自定义异常处理接口和自定义的熔断触发条件,自定义异常处理接口包括用户自定义的熔断逻辑;基于熔断规则中的熔断触发条件确定服务是否处于异常状态;若服务处于异常状态,则调用熔断规则中的自定义异常处理接口对服务执行熔断操作。
136.在本技术的一个实施例中,熔断规则中的熔断触发条件包括:资源名称、运行指标参数以及运行指标参数对应的熔断阈值,资源名称用于标识熔断规则对应的服务。
137.在本技术的一个实施例中,运行指标参数包括并发数,熔断阈值包括第一阈值,并发数表征服务在运行状态下承载的用户数量,计算机程序被处理器执行时还实现以下步骤:若服务的并发数大于第一阈值,则确定服务处于异常状态。
138.在本技术的一个实施例中,运行指标参数包括tps,熔断阈值包括第二阈值,tps表征服务在单位时间内处理的事务的个数,计算机程序被处理器执行时还实现以下步骤:若服务的tps大于第二阈值,则确定服务处于异常状态。
139.在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:在自定义的熔断逻辑包括获取熔断的日志信息和熔断的异常信息的情况下,通过调用熔断规则中的自定义异常处理接口,获取日志信息和异常信息。
140.在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:在源代码的classpath目录下的子目录meta-inf/degrade/rules中,新建熔断规则文件,熔断规则文件使用对应的资源名称进行命名。
141.本实施例提供的计算机程序产品,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
142.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
143.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例
中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
144.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献