问题:
代码中的token存在有效期,过期后会失效,如果底层用锁去获取,获取的token存在缓存中,那么下一个请求过来可能会拿不到token,陷入死循环,
解决方案:
1.重试机制,限制请求次数和时间,线程每隔1秒钟尝试获取token,尝试5次,此时获取不到就删除token,抛出异常;
2.交给nginx处理;代码抛出异常,交给nginx ,用nginx的重试机制去做(nginx的重试机制是不会死循环的,轻量级);
如果是写到代理里,是重量级的,基层都调用代码中的重试机制,存在不同的用户量和场景时,可能爆出异常,自己写的代码问题也可能测不出来;
理论:重试机制,都交给框架层来做—
token存缓存中,请求竞争陷入死循环解决方案--代码重试机制与nginx重试机制比对
最新推荐文章于 2023-04-19 13:47:49 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)