http://www.infoq.com/cn/articles/micro-service-and-devops
微服务的熔断与降级,当然熔断与降级并不是一个概念,只是很多时候会一起实现了:
- 熔断是指上游服务在调用下游服务时,因下游服务的种种问题,对调用链智能处理的手段
- 降级是指整体资源瓶颈时,一般业务暂停(优先保证核心业务)的一种处理手段
举例:熔断器实现方式,设计参考了一般都使用的三态设计,默认关闭态,调用出错率到一定程度半开,半开时,允许一部分流量继续调用下游微服务,如果一定时间还是出错(这个时间可结合MTTR设置),就将熔断器置为全开态,同样设置一定的时间后再尝试调用;
现在在熔断和降级这块实现的比较好的包括netflix的Hystrix,还有motan,大家都可尝试,我们Hystrix测试过,目前使用了motan,仅从能力上对比,Hystrix无疑更强大。前段时间乐视受攻击,差不多每秒200G流量,最终能撑下来据说主要功劳和这个有关系。