
文章插图
- 服务熔断
远程服务不稳定或网络抖动时暂时关闭 , 就叫服务熔断 。举个通俗易懂的例子 , 就跟我们现实生活中的“跳闸”一样 , 跳闸应该都听说过吧 , 比如说家里有点短路了 , 那是不是闸会跳掉 , 等你把短路的问题找到并且修复后 , 然后你把这个闸一送 , 是不是整个家庭的电路又恢复了正常 。这就是熔断器 。
所以 , 同样的道理 , 当依赖的服务有大量超时时 , 在让新的请求去访问根本没有意义 , 只会无畏的消耗现有资源 。比如我们设置了超时时间为1s,如果短时间内有大量请求在1s内都得不到响应 , 就意味着这个服务出现了异常 , 此时就没有必要再让其他的请求去访问这个依赖了 , 这个时候就应该使用熔断器避免资源浪费 。
- 服务降级
有服务熔断 , 必然要有服务降级 。所谓降级 , 就是当某个服务熔断之后 , 服务将不再被调用 , 此时客户端可以自己准备一个本地的fallback(回退)回调 , 返回一个缺省值 。例如:(备用接口/缓存/mock数据)这样做 , 虽然服务水平下降 , 但好歹可用 , 比直接挂掉要强 , 当然这也要看适合的业务场景 。PS:这次说了雪崩的解决方案和这几种方案的介绍 , 下次讲讲如何通过springclud技术完成技术的落地 。
推荐阅读
- 如何选择适合自己的最快的DNS服务器?
- PHP 多台服务器跨域如何让 session 共享使用
- 大型网站架构设计与方法总结
- 详解服务器内存和显存基础知识
- 淘宝开店需要什么软件
- 服务器到底是什么?和电脑又有什么区别?
- 微服务网关除了zuul、spring cloud gateway还有更出色的
- 互联网架构“高并发”到底怎么玩?
- 程序员如何蜕变成架构师
- 浅析微服务架构下的网关设计
