Day30 核心订单链路兜底 限流 熔断降级 方案

  • 常用手段 限流,降级,拒绝服务

限流支持URL级别,也支持方法,QPS和线程数限流.

比如最大市1万qps,超过8千的时候就可以直接丢弃。
。 限流会导致一部分用户请求失败,设置超时时间即可。 防止被限流的请求不能fast fail 拖垮系统.

限流 方案:
接入层nginx限流,网关限流,应用层限流

  1. redis+lua脚本限流
  2. sentinel 在网关处流量防护,限制API调用频率
截屏2025-01-06 23.32.33.png

API维度限流

Nacos控制台可以添加流控规则,并且持久化。 当配置文件更新时,可以推送给sentinel

详情接口热点参数限流

  • 降级实战
    当流量达到5w/s时,成交记录从20条改为5条
截屏2025-01-06 23.35.26.png
  • fallback设置默认参数


    截屏2025-01-06 23.35.47.png

基于响应时间的降级规则处理

慢调用比例,最大RT,比例阀值,熔断时长,最小请求数.
基于异常数的降级规则 (异常数,熔断时长,最小请求数).

  • 拒绝服务 返回503. 当cpu利用率达到90%,直接拒绝服务,是种不得已而为之的手段。可以采用阿里的插件sysguard.

  • load自适应: cpu core*2.5

  • 平均RT: 平均流量RT超过系统保护值
    并发线程数
    单台机器入口流量的QPS

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容