幂等Key、QPS、限流算法

发布时间 2023-08-08 01:27:51作者: Rover20230226

幂等Key作用:判断多次请求是否为同一个 多次相同的请求只能执行一次
(在 Controller 层判断)
幂等key一样,就是同一请求,只执行一个

// TODO 思路 :如果幂等key不存在,我就扣款。如果这个幂等key存在,我就不执行扣款。(该思路实现上有问题)
1、先取幂等key
2、幂等key存在 返回 false 或者抛异常
3、不存在 先存储一份

写高并发接口,考虑时间差
解决方案:
加锁(功能可以,但是访问会出现单个序列访问问题)
消除时间差(redis自增值increment,判断 increment > 1)


QPS -> 接口每秒并发量 count++
限流算法
令牌桶限流
漏桶限流

1、令牌桶限流(限流注解+增强注解类+guava、aop依赖)
一个桶定时每秒生成三百个令牌(300/s),用户访问从桶中拿令牌。没有拿到令牌拒绝访问。

2、漏桶限流(使用案例:流量削峰)
所有请求都进来 -> 处理300个


接口能承载 300QPS
接口 每秒 能承载 300 人 访问


鼠标 -> 光标

微信、支付宝的金额在数据库中以分为单位
double 会出现精度丢失