F2e踩坑之路

微信小程序码获取-从频繁失败到成功率100%

2019-06-11  本文已影响0人  人类进化又没带我

早期实现方案

1. 方案实现

2. 方案优点

3. 存在的问题

改造后方案

1. 方案实现

2. 方案优点

3. 存在的问题

4. 问题排查

经排查日志发现是accessToken失效导致,缓存的accessToken失效时间远比微信规定的失效时间短,那究竟又是什么情况会导致accessToken失效呢?经讨论和实验发现以下三点:

最终的方案

1. 方案实现

  1. 通知运营不要再使用阿拉丁的生成小程序码的功能,若有这方面需求可以找技术帮忙获取。
  2. 缓存中的accessToken有效时间缩短至5分钟,保证每次使用的accessToken都能稳定获取小程序码。
  3. 修改accessToken的获取机制,由定时器来获取accessToken并更新缓存,定时器每4分钟执行一次,以确保每个请求都能命中缓存,若定时器出现异常,则回退之前的逻辑(请求没有命中缓存,通过微信api重新获取accessToken)。
  4. 最终效果
    这一个方案上线后,线上再也没有出现小程序码没有获取成功的情况,观察日志也没再出现获取失败的情况,目前已经两周保持100%成功率了。
image.png
上一篇下一篇

猜你喜欢

热点阅读