hystrix
命令模式
Receiver、Command、Invoker 对应
service、yourCommand、hystrix
- 隔离
- 线程池
支持异步,超时。有线程切换等开销 - 信号量
开销小些,同步调用,不支持超时
- 线程池
-
熔断
熔断器
阈值计算通过滑动窗口
- 降级
熔断、限流或强制触发会触发降级 - 限流
feign
基本原理
- 动态代理
为@FeignClient
注解的类生成动态代理 - FeignInvocationHandler -> SynchronousMethodHandler -> feign.Client
- feign.Client的不同实现
- Client.Default,使用HttpURLConnnection
- ApacheHttpClient
- OkHttpClient
- LoadBalancerFeignClient,使用Ribben负责均衡
网友评论