正确性
- 功能实现使否正确
- 是否有缺失,遗漏的地方
- 是否有多实现的功能
合理性
- 操作成功、失败是否有给业务方回调(SDK注意)
- 前后端设计是否合理
- 数据库设计是否合理
- 对预估数据量和增长量进行相关设计,是否需要分库分表
- redis设计是否合理,维度设计是否合理,有效期是否合理,是否存在热key及大批量key失效的场景。
- 新老版本兼容性(在老功能上进行开发,需要考虑)
可测性
- 是否提供测试入口(SDK需考虑)
- 接口定义是否完备
- 涉及到redis,是否提供key及其类型,以及有效期
- 性能可测性,如果依赖三方服务,需进行mock
安全性
- 敏感信息是否加密
- 是否存在CRSF跨域
- 是否存在openRedirect跨域
- 是否会在绕过的情况,如非utf-8
- value非法时是否存在绕过的情况
- 字段类型是否一致,如风控uid为string,SDK侧uid为int,那么风控认为0123和123不是同一个值,那么存在绕过的风险
异常处理
- 超时处理
- 防重机制(客户端)
- 幂等机制(服务端)
- 当前服务异常时提示
- 所依赖的服务异常时,需要要降级(要看依赖关系,是否是强依赖)
监控告警
- 监控及告警
- 告警配置是否合理(看业务敏感度)
其他
- 限流配置
- 熔断配置