Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
  • Nacos
  • Feign
  • Gateway
  • Sentinel
    • 流控模式
    • 流控效果
    • Sentinel限流与Gateway限流区别?
  • Seata
  • 分布式与集群区别?
  • SpringCloud
Nreal
2023-12-26
目录

Sentinel

# 流控模式

  • 直接:统计当前资源的请求,触发阈值时对当前资源直接限流,也是默认的模式;

  • 关联:统计与当前资源相关的另一个资源,触发阈值时,对当前资源限流;

    A触发阈值,对B限流;

  • 链路:统计从指定链路访问到本资源的请求,触发阈值时,对指定链路限流;

    A,B都要访问C,只统计从A到C的链路;

# 流控效果

流控效果是指请求达到流控阈值时应该采取的措施,包括三种:

  • 快速失败:达到阈值后,新的请求会被立即拒绝并抛出FlowException异常。是默认的处理方式;

  • warm up:预热模式,对超出阈值的请求同样是拒绝并抛出异常。但这种模式阈值会动态变化,从一个较小值逐渐增加到最大阈值;

    应对冷启动方案,请求阈值初始值是threshold/coldFactor,持续到指定时长后,达到threshold值,coldFactor默认3;

    例如,设置QPS的threshold为10,预热时间为5秒,那么初始阈值就是10/3,也就是3,然后在5秒后逐渐增长到10;

  • 排队等待:让所有的请求按照先后次序排队执行,两个请求的间隔不能小于指定时长;

    流量整形;

# Sentinel限流与Gateway限流区别?

  • Gateway采用了基于Redis实现的令牌桶算法;

  • Sentinel限流有三种:

    • 默认限流模式:基于滑动窗口算法;

    • 排队等待:漏桶算法;

      所有请求进入一个队列,按照阈值允许的时间间隔依次执行。并发多个请求必须等待,预期等待时长=最近依次请求的预期等待时间+允许的间隔。

      第一个请求等待为0,如果QPS=5,意味着200ms处理一个请求,第二个请求200ms被执行,第三个400ms......,预期等待超过2000ms的请求会被拒绝并抛出异常;

    • 热点参数:令牌桶算法;

Gateway
Seata

← Gateway Seata→

Theme by Vdoing | Copyright © 2021-2024
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式