【技术实现步骤摘要】
基于Hystrix的分布式系统集群熔断方法及分布式系统
[0001]本专利技术涉及计算机
,特别涉及一种集群熔断的方法及分布式系统。
技术介绍
[0002]在分布式系统中,多级依赖形成的多级上下游级联比较常见。举例来说,如图1所示,服务a依赖于服务b和服务c,而服务b又依赖于服务d。如果服务d出现问题,导致大量来自服务b的请求超时,服务b请求服务d的大量的连接被耗尽,最终可能导致服务b无法向服务a提供服务,引发系统雪崩。实际上,服务d可能是一个并不重要的服务,这种情况下,我们希望服务b可以在没有获取服务d的数据的情况下,服务b可以继续为服务a提供服务。
[0003]如果一个应用不能对来自依赖的故障进行隔离,那该应用本身就处在被拖垮的风险中。因此,为了构建稳定、可靠的分布式系统,服务应当具有自我保护能力,当依赖服务不可用时,当前服务启动自我保护功能,从而避免发生雪崩效应。
[0004]仍以图1为例,能否在服务b请求服务d时有某种熔断机制,在统计得知服务d有问题的情况下,不再请求服务d,而立即返回降级数据, ...
【技术保护点】
【技术特征摘要】
1.一种基于Hystrix的分布式系统集群熔断方法,其特征在于,利用滑动窗口进行统计,所述滑动窗口由多个桶组成,其中:所述桶使用Redis存放为哈希结构,所述哈希结构的键包括桶生成时间和桶当前值;所述桶当前值为二进制整数,该二进制整数的比特位包括成功比特位、失败比特位、拒绝比特位、未使用比特位以及设置在该四个比特位之间的防溢出比特位;所述成功比特位、失败比特位和拒绝比特位分别记录请求的成功操作、失败操作和被拒绝操作;所述防溢出比特位在统计时如果出现值,则终止统计流程。2.根据权利要求1所述的基于Hystrix的分布式系统集群熔断方法,其特征在于,所述桶当前值为64位整数。3.根据权利要求2所述的基于Hystrix的分布式系统集群熔断方法,其特征在于,所述成功比特位占22位,所述失败比特位占16位,所述拒绝比特位占18位,所述未使用比特位占2位,并且/或者所述防溢出比特位各占2位。4.根据权利要求1所述的基于Hystrix的分布式系统集群熔断方法,其特征在于,以从Redis获取的时间为基准进行统计。5.根据权利要求1所述的基于Hystrix的分布式系统集群熔断方法,其特征在于,对于Redis开启长连接并且/或者设置链路追踪。6.根据权利要求1所述的基于...
【专利技术属性】
技术研发人员:卢阳,
申请(专利权)人:北京房江湖科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。