高可用服务架构设计(16) - 基于timeout机制来为商品服务接口的调用超时提供安全保护
2019-07-16 00:32
441 查看
版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
一般来说,在调用依赖服务的接口的时候,比较常见的一个问题,就是超时
超时是在一个复杂的分布式系统中,导致不稳定,或者系统抖动,或者出现说大量超时,线程资源hang死,吞吐量大幅度下降,甚至服务崩溃
分布式复杂的系统里,可能你的依赖接口的性能很不稳定,有时候2ms,200ms,2s
如果你不对各种依赖接口的调用,做超时的控制,来给你的服务提供安全保护措施,那么很可能你的服务就被各种垃圾的依赖服务的性能给拖死了
1 TimeoutMilliseconds
- Timeout value in milliseconds for a command
手动设置timeout时长,一个command运行超出这个时间,就认为是timeout
然后将hystrix command标识为timeout,同时执行fallback降级逻辑
- default => executionTimeoutInMilliseconds: 1000 = 1 second
默认是1000,也就是1000毫秒
2 TimeoutEnabled
-
Whether timeout should be triggered
是否应触发超时
-
控制是否要打开timeout机制,默认是true
让一个command执行timeout,然后看是否会调用fallback降级
相关文章推荐
- 基于 timeout 机制为服务接口调用超时提供安全保护
- 基于 timeout 机制为服务接口调用超时提供安全保护
- 设计基于HTML5的APP登录功能及安全调用接口的方式(原理篇)
- App架构设计经验谈:接口”安全机制”的设计
- App架构设计经验谈:接口”安全机制”的设计
- 设计基于HTML5的APP登录功能及安全调用接口的方式(原理篇)
- 设计基于HTML5的APP登录功能及安全调用接口的方式(原理篇)
- 设计基于HTML5的APP登录功能及安全调用接口的方式(原理篇)
- 设计基于HTML5的APP登录功能及安全调用接口的方式(原理篇)
- 设计基于HTML5的APP登录功能及安全调用接口的方式
- 基于.NET平台的分层架构实战(六)——依赖注入机制及IoC的设计与实现
- 架构设计:远程调用服务架构设计及zookeeper技术详解(上篇)
- Web服务搜索与执行引擎(四)——基于(三)的系统架构设计
- Web服务搜索与执行引擎(四)——基于(三)的系统架构设计
- 从架构设计到系统实施-基于.NET 3.0的全新企业应用之基于WCF的系统服务
- Ansible基于服务树进行分组全量接口调用