
- 接口限流
- 总限流
- 限并发
- 限QPS/TPS
- 单击限流
- 集群限流
- 单击:
1.限制并发:计数器(需原子性和互斥性)放在aop处理 ,count++执行之后再count–
2.限制qps/tps(令牌桶不放回,每秒充令牌,请求先取到令牌) - 集群:集中式缓存
Redis获取令牌,
1.另一个程序定时充令牌较危险;
2.另一种获取时间隔相同步长(过期时间)充令牌,需注意同时充令牌时循环覆盖,采用redis的乐观锁机制watch->multi->exec;很难减负载
3.自研方案:分布式系统内执行单击限流,按不能的逻辑拆分成不同的系统;类似雪花算法,总系统自己维护一个计数器,用完时到对应的分布式系统中申请令牌
调用不同服务进入不同的线程不相互影响
- 失败率触发
- 失败总次数触发
- 全回复
- 半转全(配置策略尝试调用已熔断的系统,可控制半转全的节奏)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)