hystrix总结三

1、请求合并时,可以设置一个batch size,以及elapsed time。
2、有两种合并模式,request scope、global scope,默认是rquest scope,
在collapser构造时指定scope模式。
3、批量查询,HystrixObservableCommand,HystrixCommand+request cache,都是每个商品发起一次网络请求,批量过来后,还是多个command的方式去执行。而request collapser+request cache,相同的商品还是就查询一次,不同的商品合并到一起通过一个网络请求得到结果。
4、请求合并技术的两个参数:
1)maxRequestsInBatch,多少个request后才会触发一个batch执行。
2)timerDelayInMilliseconds,batch创建后,多长时间后自动触发batch的执行,默认是10毫秒,所以有延时。
5、两种最基础的容错模式
1)fail-fast
遇到错误直接报出来。
2)fail-silent
遇到错误,走fallback降级,直接返回一个空值null。
总结:很少用fail-fast,fail-silent也不是特别常用,既然都到了fallback里面,肯定要做点降级的。
6、stubbed fallback,残缺的降级
1)请求参数里提取一些数据。
2)考虑将哪些量比较少的数据保存在内存中,提取部分数据。
3)默认的值怎么设置
总结:这个是比较常用的
7、注意,在做多级降级时,要将降级command的线程池单独做一个出来
,因为如果主流程的command都失败了,可能线程池都已经被占满了
,因此,降级command必须用自己的独立的线程池。

发布了104 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zjuwzp/article/details/101417445