最近阅读了《生产微服务》这本书,摘录了生产就绪check列表和评估你微服务的清单。一个服务从0-1的生产过程。很值得参考。
一个生产就绪的微服务是可伸缩且高性能的
一个得到恰当监控的生产就绪的微服务
它的关键性度量指标在主机级别、基础设施级别和微服务级别得到识别和监控 。
它有能够反映微服务过去状态的日志。
它的仪表盘包含了所有的关键性度量指标,而且很容易读懂 。
它的告警具有可操作性,并且定义了阈值 。
有一个专门的轮班待命机制负责监控微服务,并对事故和中断做出响应 。
有一个清晰的、良好定义的标准待命流程,用于处理事故和中断 。
它有详尽的文档 。
它的文档会定期更新。
它的文档包含了如下内容:
微服务描述
架构图
待命人员的信息
重要信息的链接
开发上手指南
服务请求消息流
端点的信息
依赖项的信息
运行手册,以及常见问题答疑 。
它为开发人员、团队和组织所理解 。
它符合生产就绪标准并且满足相关要求 。
它的架构经过了反复的评审 。
微服务生态系统是否有一个标准化的部署管道?
部署管道里是否有 full staging 或 partial staging 阶段?
staging 环境对生产环境有怎样的访问权限?
部署管道里是否有 canary 阶段?
canary 阶段是否有足够的时间来捕捉所有的缺陷?
canary 阶段是否准确地模拟了生产环境的业务流量?
canary和生产环境的服务端口是一样的吗?
生产环境的部署是一步到位还是循序渐进的?
对于紧急情况,是否存在直接跳过 staging 和 canary 阶段的情况?
微服务是否以可伸缩和高性能的方式处理数据?
微服务需要存储什么类型的数据?
微服务的数据需要怎样的 schema?
每秒需要处理多少个事务?
微服务需要更高的读写性能吗?
微服务是读密集、写密集还是两者兼顾?
微服务的数据库可以横向或纵向扩展吗?它是可复制或者可分区的吗?
微服务使用的是专门的还是共 享 的数据库? 微服务是如何存储和处理测试数据的?
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8