← 返回手册首页

最佳实践

凭据 / 时钟 / 并发 / 缓存 / 安全

最佳实践

把这些要点抄进你的接入清单,能避开多数生产环境踩坑。

凭据管理

  • ❌ 不要把 Secret Key / accessToken 写进客户端代码(小程序 / APP / 桌面端都不行)
  • ✅ 后端代理:客户端 → 你的服务端 → Open API
  • ✅ 多环境(dev / staging / prod)各申请独立应用与密钥
  • ✅ 60-180 天周期主动轮换 Secret Key

时钟同步

  • 服务器开 NTP,确保系统时钟漂移 < 1 分钟
  • 如长期运行的设备(IoT),定期校时
  • 调用前在中间件读 X-RateLimit-Reset 等响应头复核时间偏移

并发与重试

  • 限流退避用指数 + jitter(避免雪崩同步)
  • 写接口必须幂等(用业务 ID + 5min 缓存判重)
  • 单租户高并发场景:合并请求 → 用批量接口 → 错峰

缓存策略

  • 资源元数据用 增量同步 拉到本地缓存,配合 Webhook 实时更新
  • 不变量数据(板块、分类)可长 TTL(24h+)
  • 文件下载链接是临时 token(5min 失效),禁止缓存

Webhook 健壮性

  • 接收端必须签名校验
  • 至少一次投递,做幂等(业务 ID + 处理状态表 / Redis SET NX)
  • 业务异常时不要返回非 2xx 触发重投,先 200 ACK 再走死信队列
  • 监控失败率,超过阈值告警

错误观测

  • 所有调用记录 X-Request-Id,错误时和你的业务日志关联
  • 用 4xx / 5xx 分桶统计错误码分布(开发者中心 调用日志 可直接看)
  • 接好 错误码字典 中的中文描述,方便客服 / 运营理解

安全加固

  • 生产环境一定开 IP 白名单
  • 不要在 URL query 中带敏感信息(token / 个人手机号 / 邮箱)
  • 接收用户输入并转发到 Open API 时,做长度 + 字符集校验,避免恶意 payload 撑爆 Webhook

用户体验

  • 把限流 / 权限 / 签名错误转译成业务用户能看懂的提示
  • 长流程操作(发布资源)展示进度,多步失败时告知第几步
  • 提供"重试 / 撤销 / 联系客服"出口