视频课程
小黑屋思过中,禁止观看!
评论并刷新后可见

您需要在视频最下面评论并刷新后,方可查看完整视频

视频课程
立即观看
付费视频

您支付费用,方可查看完整视频

¥{{user.role.value}}
课程视频
立即观看
会员专享

视频合集

在高并发场景下,如何保障系统高可用?

  • 课程笔记
  • 问答交流

高并发是大型架构核心,下面我详解高可用保障@mikechen

负载避免单点

首先,负载均衡与流量分发通过将请求分散到多台后端实例。

在高并发场景下,如何保障系统高可用?-mikechen

避免单点过载,提升并发处理能力与容错性。

常见做法:包括使用硬件或软件负载均衡器、DNS 轮询、反向代理(如 Nginx、HAProxy)。

以及,基于四层/七层策略的流量调度。

结合健康检查与会话粘性设置,可进一步提高请求成功率与系统稳定性。

 

服务限流

核心目标是控制进入系统的请求量,让系统只在自己的“安全水位”内工作。

在高并发场景下,如何保障系统高可用?-mikechen

常见做法:

固定阈值限流:按 QPS、并发数配置阈值(如每秒最多 500 请求),超出直接拒绝或排队。

算法实现:令牌桶、漏桶(如网关限流、中间件限流)。

分层限流:网关层限流、服务层限流、资源层(DB、缓存)限流,逐级保护核心资源。

典型例子:活动高峰期对下单接口限流,多余请求返回“系统繁忙”,保证服务不被打爆。

 

降级:丢车保帅,保证核心路径

核心目标是在压力过大或下游异常时,主动“关掉/简化”非核心功能,优先保证主链路可用。

在高并发场景下,如何保障系统高可用?-mikechen

常见策略:

功能关闭:临时关闭推荐、排行榜、消息提醒等非关键功能。

简化结果:返回缓存数据、老数据、兜底默认值(如不精准的推荐列表)。

异步/延迟处理:把赠券、积分结算等改为异步批处理,延后执行,减轻实时压力。

手动/自动降级:通过开关配置手动控制,或基于失败率、超时、流量阈值自动触发。

例子:订单创建必须成功,优惠券实时展示可以降级为“稍后到账”,用异步任务夜间批量发券。

 

 熔断:阻断级联故障

熔断关注的是“防扩散”,当某个依赖服务持续失败或超时,就临时切断调用,避免把自己也拖死。

在高并发场景下,如何保障系统高可用?-mikechen

关键点:

错误监控:统计调用失败率、超时比例,超过阈值(如 50% 错误)进入“打开”状态,不再真正调用下游服务。

半开探测:一段时间后允许少量请求探测,如果恢复则关闭熔断,否则继续保持打开。

与降级联动:熔断后直接执行本地 fallback,如返回缓存数据或默认结果,这是典型“熔断 + 降级”模式。

例子:商品服务调用库存服务超时率飙升时,停止调用库存接口。

直接按“库存紧张”策略返回,防止调用线程被长期阻塞导致雪崩。

评论交流
    说说你的看法