前置
Qps:每秒查询率
吞吐量:指系统在单位时间内处理请求的数量
资源:我们代码中的 Java 方法,一段代码,或者一个接口
限流
核心:
- 对资源(url或其他)进行限流
- 可对资源和来源进行限流
- 可调用openapi自动生成规则或平台配置
阈值类型:
- Qps
- 线程数:当调用该api的线程数到达阈值的时候,进行限流
关联模式:
- 直连:默认
- 关联:统计与当前资源相关的另一个资源,触发阈值时,对当前资源限流
- 链路:只针对从指定链路访问到本资源的请求做统计,判断是否超过阈值
流控效果:
- 快速失败:默认,抛出异常
- 预热:给一个预热时间,让流量缓慢增加,在一定时间内组件增加到这个阈值的上限
- 匀速排队:严格控制请求通过的时间,就是让这个请求匀速的通过,对应的是漏桶算法
热点规则
热点参数:限流会统计传入参数中的热点参数,并根据配置的限流阈值与模式,对包含热点参数的资源调用进行限流
熔断
统计一段时间内发生策略事件之后熔断一段时间恢复
熔断策略:
- 慢调用比例
- 异常比例
- 异常数