![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring cloud
清露草木
用博客整理技术,用坚持砥砺前行。等是窟窿,走是灯笼
展开
-
Hystrix学习——(1)什么是Hystrix
What Is Hystrix?Hystrix 是世界最大在线影片租赁服务商Netflix的众多开源项目之一,针对分布式系统的延迟和容错库。官方地址:该库由Java写成,项目源于Netflix API团队在2011年启动的弹性工程项目。章节 Hystrix学习(2)雪崩效应 Hystrix学习(3)隔离 Hystrix学习(4)熔断 Hystrix学习(5)HelloWorld Hystrix学习...转载 2018-03-15 10:39:48 · 172 阅读 · 0 评论 -
Hystrix学习——(2)雪崩效应
在IO型服务中,假设服务A依赖服务B和服务C,而B服务和C服务有可能继续依赖其他的服务, 继续下去会使得调用链路过长,技术上称1->N扇出。如下图如果在A的链路上某个或几个被调用的子服务不可用或延迟较高,则会导致调用A服务的请求被堵住。 堵住的请求会消耗占用掉系统的线程、io等资源,当该类请求越来越多,占用的计算机资源越来越多的时候,会导致系统瓶颈出现,造成其他的请求同样不可用,最终导致业...转载 2018-03-15 10:41:28 · 259 阅读 · 0 评论 -
Hystrix学习——(3)隔离
隔离模式 一个形象的解释是:对系统请求按类型划分成若干个的小岛,当某个小岛被火少光了,不会影响到其他的小岛。Hystrix依赖的隔离架构,如下图:Hystrix在用户请求和服务之间加入了线程池。Hystrix为每个依赖调用分配一个小的线程池,如果线程池已满调用将被立即拒绝,默认不采用排队.加速失败判定时间。线程数是可以被设定的。原理用户的请求将不再直接访问服务,而是通过线程池中的空闲线程来访...转载 2018-03-15 10:44:46 · 127 阅读 · 0 评论 -
Hystrix学习——(4)熔断
熔断模式该模式借鉴了电路熔断的理念,如果一条线路电压过高,保险丝会熔断,防止火灾。如果某个目标服务调用慢或者有大量超时,此时,熔断该服务的调用,对于后续调用请求,不在继续调用目标服务,直接返回,快速释放资源。如果目标服务情况好转则恢复调用。还是之前的银行柜员的例子,假定处理每个业务的时间是5分钟,当某个柜员的处理速度降低了,超过了5分钟,或者干脆去吃午饭等等原因根本不在座位上,此时熔断机制将不会允...转载 2018-03-15 10:46:10 · 675 阅读 · 0 评论 -
Hystrix学习——(5)HelloWorld
创建一个Hystrix的基本HelloWorld其实非常简单 1、在maven中添加依赖<url>http://github.com/Netflix/Hystrix</url><dependencies> <dependency> <groupId>com.netflix.hystrix</grou...转载 2018-03-15 11:07:56 · 202 阅读 · 0 评论 -
Hystrix学习——(6)流程
Hystrix的处理流程如下图所示说明:1和2为两种不同的调用方式。3请求接收后,会先看是否存在缓存数据,如果存在,则不会继续请求服务,直接返回缓存数据。如果不存在缓存数据,则继续进行第4步。第4步将判断熔断器是否为开启状态,如果开启(已经熔断),则调用第8步FallBack(降级)处理。如果未开启,则继续调用第5步。第5步检测当前依赖的线程池是否已满,如果已满,也会调用第8步FallBack(降...转载 2018-03-15 11:09:46 · 111 阅读 · 0 评论