设计评审CheckList
一、功能功能基本流的完整度设计逻辑合理度变更的影响范围兼容性异常流的完整度超时熔断失败处理补偿机制可测性及测试成本重复造车轮对外API兼容性多版本共存二、性能弹性伸缩耗时长的操作批量处理异步处理三、数据库表设计分库分表定期归档索引设计旧表增加索引,需要对该表所有索引进行评估大表的索引创建,要考虑执行时间唯一约束:旧有字段需提前校验字段设计冗余字段:需考虑数据一致性字段长度:冗余字段类型:不同表的相
·
一、功能
- 功能基本流的完整度
- 设计逻辑合理度
- 变更的影响范围
- 兼容性
- 异常流的完整度
- 超时
- 熔断
- 失败处理
- 补偿机制
- 可测性及测试成本
- 重复造车轮
- 对外API
- 兼容性
- 多版本共存
二、性能
- 弹性伸缩
- 耗时长的操作
- 批量处理
- 异步处理
三、数据库
- 表设计
- 分库分表
- 定期归档
- 索引设计
- 旧表增加索引,需要对该表所有索引进行评估
- 大表的索引创建,要考虑执行时间
- 唯一约束:旧有字段需提前校验
- 字段设计
- 冗余字段:需考虑数据一致性
- 字段长度:冗余
- 字段类型:不同表的相同字段是否一致
- 修改字段:考虑兼容性
- 新增字段:如果是必填项,需考虑兼容性
- 删除字段:新版本上线后,再经过几个版本迭代才可以删除
四、缓存
- 是否需要缓存
- 缓存类型是否合理
- 写入、更新、删除逻辑是否合理
- 雪崩、穿透
- 失效时间
- 缓存预热
五、回滚及灰度
- 灰度方案
- 灰度小流量上线方案
- 必须支持回滚,尤其是涉及数据、缓存等
- 复杂数据库的设计,可以考虑只回滚程序,不回滚数据的方案
六、安全
- 数据安全
- 数据存储安全
- 数据访问安全
- 功能安全
- 防刷
七、可观测性
- 日志完整度
- 异常监控报警
- 调用链
- 监控
- 考虑其他关联系统是否要同步添加
八、国际化(如果涉及)
以上所有都要考虑国际化的影响
更多推荐
已为社区贡献1条内容
所有评论(0)