豪猪

关于“豪猪”,你理解的透彻吗?【Hystrix是个什么玩意儿】

戏子无情 提交于 2020-02-13 03:10:54
1. 什么是Hystrix Hystrix是Netflix的一个开源框架,地址如下:https://github.com/Netflix/Hystrix 中文名为“豪猪”,即平时很温顺,在感受到危险的时候,用刺保护自己;在危险过去后,还是一个温顺的肉球。 所以,整个框架的核心业务也就是这2点: 何时需要保护 如何保护 2. 何时需要保护 对于一个系统而言,它往往承担着2层角色,服务提供者与服务消费者。对于服务消费者而言最大的痛苦就是如何“明哲保身”,做过网关项目的同学肯定感同身受 上面是一个常见的系统依赖关系,底层的依赖往往很多,通信协议包括 socket、HTTP、Dubbo、WebService等等。当通信层发生网络抖动以及所依赖的系统发生业务响应异常时,我们业务本身所提供的服务能力也直接会受到影响。 这种效果传递下去就很有可能造成雪崩效应,即整个业务联调发生异常,比如业务整体超时,或者订单数据不一致。 那么核心问题就来了,如何检测业务处于异常状态? 成功率! 成功率直接反映了业务的数据流转状态,是最直接的业务表现。 当然,也可以根据超时时间做判断,比如 Sentinel 的实现。其实这里概念上可以做一个转化,用时间做超时控制,超时=失败,这依然是一个成功率的概念。 3. 如何保护  如同豪猪一样,“刺”就是他的保护工具,所有的攻击都会被刺无情的怼回去。 在 Hystrix