用到Redis。

最初的逻辑:代码里判定只要token失效就会取toekn更新到Redis中。

问题:显而易见,分布式并行后,可能同时有两台或以上同时更新,导致其他设备取回的token失效,然后循环往复,将API次数耗尽。

经浩哥指点优化后的逻辑:
抽离token更新逻辑到定时脚本。脚本启动后,使用Redis的setNx作为分布锁,确保只有一台设备进入token校验更新逻辑。当逻辑走完后,移除锁标识。

核心思路:大家都抢,冲突,那么就用加锁的方式杜绝并行的发生。

Related Posts: 微信服务端token分布式更新策略 :

avatar