不应该因为粗心大意导致低级失误!
- 代码
- Code Review
- Unit Tests
- Deploy Testing Environment
- 存储层
- DB
- Redis ( or Memcached )
- ES
- MQ ( kafka / RabbitMQ / RocketMQ )
- Confs?
- Registry ( 注册中心 / 配置平台 )
- File ( 配置文件 )
- Code ( 硬编码 )
- 洗数据? ( Migration )
- 载体迁移 ( e.g. DB → ES )
- 格式转换 ( e.g. DB.tableA → DB.tableB )
- DB 增减字段
- DB 增减索引
- 刷新缓存 ( e.g. DB → DB.tableB )
- 依赖接口
- 内部接口就绪 ( e.g. update version → mvn deploy )
- 外部接口就绪 ( e.g. update version → mvn deploy )
- ( HTTP / RPC / … ? DNS ? Nginx ? 限流 ? )
- 部署顺序
- 多个上下游服务的依赖顺序
- 某些服务是否可同时上线 ( 提高效率 )
- 可灰度
- 灰度测试/发布 ( e.g. 白名单 / 黑名单 / AB Test )
- 特性开关 ( 以便紧急止血 )
- 可监控
- 关注哪些监控指标
- 异常日志
- QPS
- Latency ( P99 / P95 / P50 / … )
- Exceptions
- 监控曲线
- CPU / 内存 / 硬盘 / GC
- 埋点打点
- 异常日志
- 关注哪些监控指标
- 可应急
- 代码可回滚 ( e.g. 数据模型没变, 可正常运行 )
- 数据可恢复 ( e.g. 不丢失数据 / 可通过其它数据还原 )