美文网首页
高并发设计--降级

高并发设计--降级

作者: 董董呀 | 来源:发表于2021-09-29 18:04 被阅读0次

降级


放弃部分非核心功能或者服务,保证整体的可用性的方法,是一种有损的系统容
错方式。


系统短暂不可用的原因大概包含以下两种情况:

1.依赖的下游服务或者资源不可用
2.流量超出下游服务或者系统的承载量,拒绝请求

导致服务不可用背景

1.png

例如:上图。服务A强依赖服务B,服务B依赖服务C、服务D、服务E。
1)、当流量暴增时,对服务B、C、D做了扩容,E因无法承载突增流量,导致请求响应缓慢。B中的请求被阻塞,等待C返回结果,B服务中被占用的线程资源就不能释放。
2)、一定时间内,服务B线程资源被占满,阻塞请求,A调用B的响应时间就会变长,服务相继被拖垮,导致整个服务不可用。
问题:分布式环境下,最怕的不是服务的宕机,而是影响慢,拖垮整个服务不可用
解决:检测到某一个服务的响应出现异常时,切断与它的调用关系。暂时让服务快速返回失败,释放这次请求持有的资源,保证服务的整体可用。

降级类型

1、熔断。状态机


2.png

2、开关降级。策略参数可放配置中心,例如开关
3、限流降级。策略参数可放配置中心,例如阈值

相关文章

  • 高并发设计--降级

    降级 放弃部分非核心功能或者服务,保证整体的可用性的方法,是一种有损的系统容错方式。 系统短暂不可用的原因大概包含...

  • 高并发架构设计原则

    高并发(拆分、服务化、消息队列、缓存) 高可用(集群、限流、降级) 业务设计(幂等、防重、状态机) 限流的目的 限...

  • 如何设计一个高并发系统

    整理了设计高并发系统的15个锦囊,相信大家看完会有帮助的。 如何理解高并发系统 所谓设计高并发系统,就是设计一个系...

  • 限流、熔断、降级

    一、限流、熔断、降级概念 1.1 限流: 在高并发系统中一定要用,高并发的所有请求进来,不是让每个请求都打到后台集...

  • 高并发系统的三大设计方案

    听过太多有关高并发的技术,例如:消息队列,负载均衡,缓存中间件,数据库一主多从,降级,限流等。有关高并发的解决方案...

  • 高并发之限流

    目录 概念 划分 线上情况 概念 在开发分布式高并发系统时有三把利器用来保护系统:缓存、降级、限流。其中降级的一种...

  • 聊聊高并发系统限流特技-1

    聊聊高并发系统限流特技-1来自开涛的博客 在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是...

  • 后端好书阅读与推荐

    实战Java高并发程序设计 实战Java高并发程序设计 (豆瓣)https://book.douban.com/s...

  • 常见系统架构设计

    feed流设计 如何打造千万级Feed流系统Feed 流系统设计总纲 秒杀类的高并发设计 高并发系统的设计及秒杀实...

  • 架构成长之路:分布式系统限流策略(一)

    在开发高并发的系统时,有很多手段来保护系统,如缓存、降级和限流等。缓存可以提升系统的访问速度,降级可以暂时屏蔽掉非...

网友评论

      本文标题:高并发设计--降级

      本文链接:https://www.haomeiwen.com/subject/mkijnltx.html