Hystrix设计原则和目的以及资源隔离

Hystrix是一个用于处理服务接口故障和高并发场景的容错库,通过资源隔离防止服务故障扩散。其设计原则包括延迟和失败容错、阻止故障蔓延。Hystrix实现方式之一是线程池隔离,限制对依赖服务的并发调用,确保系统稳定性。当服务调用超出阈值时,Hystrix会执行超时返回。在Spring Boot中使用Hystrix,可通过引入依赖并在Eclipse中配置。Hystrix提供了多种命令调用方式,并支持线程池和信号量两种资源隔离策略。
摘要由CSDN通过智能技术生成

                1.Hystrix是什么?

                            在分布式系统中,每个服务都可能会调用很多其他的服务,被调用的那些服务就是依赖服务,依赖服务出现一些故障是很正常的,因为不能保障100%的可用性。hystrix可以让我们在分布式系统中对服务间的调用进行控制,加入一些调用延迟或者依赖故障的容错机制。Hystrix通过将依赖服务进行资源隔离,当某个依赖服务出现故障的时候,防止故障在整个系统的依赖服务中蔓延,同时Hystrix还提供了fallback降级机制。(Hystrix保护系统高可用主要通过一下几点:资源隔离、限流、熔断、限流、运维监控)。


2.Hystrix的设计原则

                                1.对依赖服务调用时出现的延迟和失败进行容错保护。

                                2.在复杂的分布式系统中,阻止某一个依赖服务的故障在整个系统中蔓延

                                3.提供fall-fast(快速失败)和快速恢复的支持

                                4.提供fallback优雅的降级的支持

                                5.支持近实时的监控、报警一级运维操作

               3.Hystrix是如何实现的?
                                1.通过hystrixCommand或者HystrixObservableCommand来封装对外部依赖的访问请求,这个访问请求一般会运行在独立的线程中。

                                   

                                2.对于超出我们设定的阈(yu)值服务调用,直接进行超时返回,不允许它长时间的阻塞。

                                3.对每一个依赖服务进行资源隔离。通过线程池或者是semaphore这两种方式。

                                4.对依赖服务被调用的成功次数,失败次数,拒绝次数,超时次数进行统计。

                                5.如果对某一个依赖服务的调用失败次数超过了一点的阈值,Hystrix自动进行熔断,并在一段时间内对该服务的调用直接进行降级,一段时间后再自动尝试恢复

                                6.当对一个服务调用出现失败、被拒绝、超时、短路等异常情况时,自动调用fallback降级机制

                                7.对属性和配置的修改提供近实时的支持

              4.在eclipse中导入Hystrix的依赖(基于Spring boot)
导入依赖及可,如果下载不了,可以去maven中央仓库下载( http://mvnr
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值