微信小程序高可用保障复盘

小程序是旅游业务的主战场,重构后我们仍遇到重复提交、登录态过期、大文件上传失败等痛点。我负责梳理关键链路并提升可用性,最终将成功率拉到 99.3%+。以下是核心思路。

1. 订单幂等与熔断

  • 通过业务 ID + Redis 时间窗实现幂等校验,避免重复扣款。
  • 使用 Sentinel 定义熔断策略,保障第三方支付波动时系统仍可降级处理。

2. 分片上传与续传

  • 对动辄 200MB 的素材上传,引入 OSS 分片接口,客户端记录上传进度;服务器端校验 MD5,允许断点续传。
  • 成果:大文件失败率从 12% 降到 1% 以内。

3. 登录态续期

  • 在 Sa-Token 的基础上设计刷新 token 机制,前端在 token 即将过期时自动续期。
  • 配合 Redis 存储用户 Session,避免频繁重新登录。

4. 监控与演练

  • 建立链路追踪日志,实时观测下单、上传、支付、票据查询等环节。
  • 每周进行压测与故障演练,验证重试策略。

通过这次复盘,我意识到“细节即体验”,也把这些实践迁移到学校的竞赛报名系统,效果同样显著。

Logo

© 2025 李陈康

Twitter Github ZCool Behance RSS