1.一种服务熔断器,其特征在于,所述熔断器包括:
收发模块,所述熔断器利用所述收发模块与服务请求方进行通信;
熔断判别器,其用于根据所述熔断器的状态以及所述状态下的统计信息确定是否允许所述服务请求方向服务提供方发起的服务请求,并经由所述收发模块通知所述服务请求方;以及
熔断更新器,其用于根据所述熔断器的状态以及所述状态下的统计信息来更新所述熔断器的状态,其中所述状态下的统计信息包括经由所述收发模块接收的所述服务提供方对所述服务请求方的所述服务请求的响应情况。
2.根据权利要求1所述的服务熔断器,其特征在于,所述服务提供方对所述服务请求方的所述服务请求的响应情况包括正常响应、未响应以及超时响应。
3.根据权利要求1所述的服务熔断器,其特征在于,所述熔断器的状态包括关闭状态、半开启状态、开启状态,其中:
当所述熔断器处于关闭状态时,所述熔断判别器允许所述服务请求;
当所述熔断器处于半开启状态时,所述统计信息包括半开启计时,若所述半开启计时未超过第一时限,则所述熔断判别器以第二概率允许所述服务请求;若所述半开启计时超过所述第一时限,则所述熔断器允许所述服务请求;以及
当所述熔断器处于开启状态时,所述统计信息包括开启计时,若所述开启计时未超过第二时限,则所述熔断判别器以第一概率允许所述服务请求;若所述开启计时超过所述第二时限,则所述熔断器允许所述服务请求。
4.根据权利要求3所述的服务熔断器,其特征在于,所述统计信息还包括半开启计数,其中:
当所述熔断器处于半开启状态时,若所述半开启计时未超过第一时限,则所述熔断器以第二概率允许所述服务请求;
当所述熔断器处于半开启状态时,若所述半开启计时超过第一时限时,则所述半开启计数加一;并且
当所述半开启计数未超过计数阈值时,所述熔断器允许所述服务请求;
当所述半开启计数超过所述计数阈值时,所述熔断器拒绝所述服务请求。
5.根据权利要求4所述的服务熔断器,其特征在于,所述第一概率和/或第二概率为对所述服务请求正常响应所占的比例。
6.根据权利要求3所述的服务熔断器,其特征在于,当所述熔断器允许所述服务请求时经由所述收发模块向所述服务请求方返回通过请求的结果;当所述熔断器拒绝所述服务请求时经由所述收发模块向所述服务请求方返回拒绝请求的结果。
7.根据权利要求3所述的服务熔断器,其特征在于,所述统计信息包括对所述服务请求未响应的比例、对所述服务请求超时响应的比例以及平均响应时间,当满足下列至少一个条件时,所述熔断更新器将所述熔断器的状态由所述关闭状态更新为所述开启状态:
对所述服务请求未响应的比例达到第一阈值;
对所述服务请求超时响应的比例达到第二阈值;以及
第一时段内对所述服务请求的平均响应时间达到第三阈值。
8.根据权利要求3所述的服务熔断器,其特征在于,所述统计信息还包括对所述服务请求正常响应的计数,当满足下列至少一个条件时,所述熔断更新器将所述熔断器的状态由所述开启状态更新为所述半开启状态:
所述开启计时超过第四阈值;以及
对所述服务请求正常响应的计数达到第五阈值。
9.根据权利要求3所述的服务熔断器,其特征在于,所述统计信息包括对所述服务请求正常响应的计数,当对所述服务请求正常响应的计数达到第六阈值,所述熔断更新器将所述熔断器的状态由所述半开启状态更新为所述关闭状态。
10.根据权利要求4所述的服务熔断器,其特征在于,当所述半开启计数超过所述计数阈值时,所述熔断更新器将所述熔断器的状态由所述半开启状态更新为所述开启状态。
11.一种服务熔断方法,其特征在于,所述方法包括如下步骤:
接收服务请求方发送的服务请求;
根据熔断状态以及所述状态下的统计信息确定是否允许所述服务请求方向服务提供方发起的服务请求并通知所述服务请求方;
根据所述熔断状态以及所述状态下的统计信息来更新所述熔断状态,其中所述状态下的统计信息包括所述服务提供方对所述服务请求方的所述服务请求的响应情况。
12.根据权利要求11所述的熔断方法,其特征在于,所述服务提供方对所述服务请求方的所述服务请求的响应情况包括正常响应、未响应以及超时响应。
13.根据权利要求11所述的熔断方法,其特征在于,所述熔断状态包括关闭状态、半开启状态、开启状态,其中:
若处于关闭状态则允许所述服务请求;
若处于半开启状态则所述统计信息包括半开启计时,当所述半开启计时未超过第一时限时,以第二概率允许所述服务请求;当所述半开启计时超过第一时限时,允许所述服务请求;以及
若处于开启状态则所述统计信息包括开启计时,当所述开启计时未超过第二时限时,以第一概率允许所述服务请求;当所述开启计时超过第二时限时,允许所述服务请求。
14.根据权利要求13所述的熔断方法,其特征在于,所述统计信息包括半开启计数,其中:
若处于半开启状态且所述半开启计时未超过第一时限,则以第二概率允许所述服务请求;
若处于半开启状态且所述半开启计时超过第一时限,则所述半开启计数加一;并且
若所述半开启计数未超过计数阈值则允许所述服务请求,若所述半开启计数超过所述计数阈值时则拒绝所述服务请求。
15.根据权利要求14所述的熔断方法,其特征在于,所述第一概率和/或第二概率为对所述服务请求正常响应所占的比例。
16.根据权利要求13所述的熔断方法,其特征在于,若允许所述服务请求则向所述服务请求方返回通过请求的结果;若拒绝所述服务请求则向所述服务请求方返回拒绝请求的结果。
17.根据权利要求13所述的熔断方法,其特征在于,所述统计信息包括对所述服务请求未响应的比例、对所述服务请求超时响应的比例以及平均响应时间,若满足下列至少一个条件则将所述熔断状态由所述关闭状态更新为所述开启状态:
对所述服务请求未响应的比例达到第一阈值;
对所述服务请求超时响应的比例达到第二阈值;以及
第一时段内对所述服务请求的平均响应时间达到第三阈值。
18.根据权利要求13所述的熔断方法,其特征在于,所述统计信息还包括对所述服务请求正常响应的计数,若满足下列至少一个条件则将所述熔断状态由所述开启状态更新为所述半开启状态:
所述开启计时超过第四阈值;以及
对所述服务请求正常响应的计数达到第五阈值。
19.根据权利要求13所述的熔断方法,其特征在于,所述统计信息包括对所述服务请求正常响应的计数,若对所述服务请求正常响应的计数达到第六阈值则将所述熔断状态由所述半开启状态更新为所述关闭状态。
20.根据权利要求14所述的熔断方法,其特征在于,若所述半开启计数超过所述计数阈值则将所述半开启状态更新为所述开启状态。
21.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令由处理器执行时,使得所述处理器执行如权利要求11-20中任一项所述的熔断方法。