热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

服务降级_服务熔断,服务降级

篇首语:本文由编程笔记#小编为大家整理,主要介绍了服务熔断,服务降级相关的知识,希望对你有一定的参考价值。服务熔断,服务降级

篇首语:本文由编程笔记#小编为大家整理,主要介绍了服务熔断, 服务降级相关的知识,希望对你有一定的参考价值。



服务熔断, 服务降级

参考:

https://blog.csdn.net/pengjunlee/article/details/86688858

https://blog.csdn.net/llianlianpay/article/details/79768890

在介绍熔断机制之前, 需要理解微服务的雪崩效应. 在微服务架构中, 微服务是完成一个单一的业务功能, 这样做的好处是可以做到解耦, 每个微服务可以独立演进. 但是, 一个应用可能会有多个微服务组成, 微服务之间的数据交互通过运程调用完成. 这就带来一个问题, 假设微服务A调用微服务B和微服务C, 微服务B和微服务C又调用其他的微服务, 这就是所谓的"扇出".

如果扇出的链路上某个微服务的调用响应时间过长或者不可用, 对微服务A的调用就会占用越来越多的系统资源, 进而引起系统崩溃, 所谓的"雪崩效应"
技术图片


#服务熔断

服务熔断的作用类似于我们家用的保险丝,当某服务出现不可用或响应超时的情况时,为了防止整个系统出现雪崩,暂时停止对该服务的调用。


#服务降级

服务降级是从整个系统的负荷情况出发和考虑的,对某些负荷会比较高的情况,为了预防某些功能(业务场景)出现负荷过载或者响应慢的情况,在其内部暂时舍弃对一些非核心的接口和数据的请求,而直接返回一个提前准备好的fallback(退路)错误处理信息。这样,虽然提供的是一个有损的服务,但却保证了整个系统的稳定性和可用性。


#熔断VS降级



  • 相同点:

    目标一致 都是从可用性和可靠性出发,为了防止系统崩溃;

    用户体验类似 最终都让用户体验到的是某些功能暂时不可用;



  • 不同点:

    触发原因不同 服务熔断一般是某个服务(下游服务,即被调用的服务)故障引起,而服务降级一般是从整体负荷考虑




推荐阅读
author-avatar
Keai丶绿茶_890
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有