没有合适的资源?快使用搜索试试~ 我知道了~
SpringCloud-Hystrix原理
0 下载量 38 浏览量
2021-01-27
13:22:10
上传
评论
收藏 961KB PDF 举报
温馨提示
试读
7页
Hystrix官网的原理介绍以及使用介绍非常详细,非常建议看一遍,地址见参考文档部分。 1Hystrix能做什么 通过hystrix可以解决雪崩效应问题,它提供了资源隔离、降级机制、融断、缓存等功能。资源隔离:包括线程池隔离和信号量隔离,限制调用分布式服务的资源使用,某一个调用的服务出现问题不会影响其他服务调用。降级机制:超时降级、资源不足时(线程或信号量)降级,降级后可以配合降级接口返回托底数据。融断:当失败率达到阀值自动触发降级(如因网络故障/超时造成的失败率高),熔断器触
资源详情
资源评论
资源推荐
SpringCloud-Hystrix原理原理
Hystrix官网的原理介绍以及使用介绍非常详细,非常建议看一遍,地址见参考文档部分。
一 Hystrix原理
1 Hystrix能做什么
通过hystrix可以解决雪崩效应问题,它提供了资源隔离、降级机制、融断、缓存等功能。
资源隔离:包括线程池隔离和信号量隔离,限制调用分布式服务的资源使用,某一个调用的服务出现问题不会影响其他服务调
用。
降级机制:超时降级、资源不足时(线程或信号量)降级,降级后可以配合降级接口返回托底数据。
融断:当失败率达到阀值自动触发降级(如因网络故障/超时造成的失败率高),熔断器触发的快速失败会进行快速恢复。
缓存:返回结果缓存,后续请求可以直接走缓存。
请求合并:可以实现将一段时间内的请求(一般是对同一个接口的请求)合并,然后只对服务提供者发送一次请求。
2 隔离模式
Hystrix提供了两种隔离模式:线程池隔离模式、信号量隔离模式。
线程池隔离模式:使用一个线程池来存储当前请求,线程池对请求作处理,设置任务返回处理超时时间,堆积的请求先入线程
池队列。这种方式要为每个依赖服务申请线程池,有一定的资源消耗,好处是可以应对突发流量(流量洪峰来临时,处理不完
可将数据存储到线程池队里慢慢处理)
信号量隔离模式:使用一个原子计数器(或信号量)记录当前有多少个线程在运行,请求来先判断计数器的数值,若超过设置
的最大线程个数则丢弃该类型的新请求,若不超过则执行计数操作请求来计数器+1,请求返回计数器-1。这种方式是严格的控
制线程且立即返回模式,无法应对突发流量(流量洪峰来临时,处理的线程超过数量,其他的请求会直接返回,不继续去请求
依赖的服务)
3 降级
服务降级的目的保证上游服务的稳定性,当整体资源快不够了,将某些服务先关掉,待渡过难关,再开启回来。
1) 快速模式
如果调用服务失败了,那么立即失败并返回。
2) 故障转移
如果调用服务失败了,那么调用备用服务,因为备用服务也可能失败,所以也可能有再下一级的备用服务,如此形成一个级
联。例如:如果服务提供者不响应,则从缓存中取默认数据。
weixin_38651786
- 粉丝: 7
- 资源: 915
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0