# 微服务生产就绪检查清单

基于：《生产微服务》

```checklist
 - 微服务生产就绪检查清单
   - 稳定且可靠
    - 它有一个标准化的开发周期。
    - 它的代码需要经过初步检查、单元测试、集成测试以及端到端的测试。
    - 它的测试、打包、构建和发布流程是自动化的。
    - 它有标准化的部署管道，包括staging阶段、canary阶段和生产阶段。
    - 它的客户端是已知的。
    - 它的依赖项是已知的，而且是有备份的，还有可选的回退方案以及缓存，以防出现依赖项失效。
    - 它有稳定可靠的路由和服务发现机制。
   - 可伸缩且高性能的
    - 明确的质的增长规模和量的增长规模。
    - 高效地使用硬件资源。
    - 已识别出资源的瓶颈和需求。
    - 容量规划自动化，并通过调度作业来执行。
    - 依赖项也会随之伸缩。
    - 可以随着客户端的伸缩而伸缩。
    - 业务流量模式有章可循。
    - 在发生故障时，业务流量可以被重新路由。
    - 使用支持伸缩性和高性能的编程语言来实现。
    - 以高性能的方式处理任务。
    - 以可伸缩和高性能的方式处理和存储数据。
   - 具备容错和灾备能力
    - 没有故障点。
    - 所有可能的故障场景都已被识别出来。
    - 已经通过代码测试、负载测试和混沌测试，保证了微服务的弹性。
    - 自动化的故障检测和挽救措施。
    - 微服务开发团队和整个组织具有标准化的事故和中断处理流程。
   - 恰当监控
    - 它的关键性度量指标在主机级别、基础设施级别和微服务级别得到识别和监控。
    - 它有能够反映微服务过去状态的日志。
    - 它的仪表盘包含了所有的关键性度量指标，而且很容易读懂。
    - 它的告警具有可操作性，并且定义了阈值。
    - 有一个专门的轮班待命机制负责监控微服务，并对事故和中断做出响应。
    - 有一个清晰的、良好定义的标准待命流程，用于处理事故和中断。
   - 良好的文档
    - 它有详尽的文档。
    - 它的文档会定期更新。
    - 它的文档包含了如下内容：微服务描述、架构图、待命人员的信息、重要信息的链接、开发上手指南、服务请求消息流、端点的信息、依赖项的信息、运行手册，以及常见问题答疑。
    - 它为开发人员、团队和组织所理解。
    - 它符合生产就绪标准并且满足相关要求。
    - 它的架构经过了反复的评审。
```
