微服务的360度运行状况检查的评审模板:在评估架构和实现时,需要检查的清单,可确保微服务系统的生产准备情况和规模。 | All Things Cloud

19-10-31 banq
                   

    • 那里有多少个未使用的库?
    • 有没有可用Spring附带的功能替换的库?
  • 连接池

    • 如何处理并发?
  • 延迟

    • 该应用需要多长时间才能启动?
    • 使用rsockets和https时,高负载下的数据传输速度是否存在有意义的差异?
    • 使用Reactive技术堆栈与传统技术堆栈时,数据传输速度是否存在有意义的差异?
    • HTTP调用效率低下是否存在值得注意的地方?
    • 该应用程序的网络通话的平均响应时间是多少?
  • 内存/ CPU

    • 应用程序在高负载下会使用多少内存?是否需要JVM GC调优?
    • 应用程序在高负载下使用多少个线程?
    • 最高约束是什么?(CPU,内存,磁盘,网络等)
  • 错误/异常处理

    • 该应用通常在高负载下会抛出多少个异常?
    • 两次故障之间的平均时间是多少?
    • 中断通常持续多长时间?
  • 代码复杂度/清洁度

    • 应用程序中最高的圈复杂度是什么?
    • 应用程序中有多少个未使用的类?
    • 应用程序中有多少种未使用的方法?
    • 遵守15个因素
    • 高频代码更改热图
    • 一次1生产事故回顾
  • springboot

    • 是否有Classpath依赖项膨胀?
    • 升级到s-boot 2.2并可能产生依赖关系?
  • 弹性

    • 断路器和HTTPClient是否配置正确
    • 断路器的度量值是否通过千分尺放置在消防水带中
    • 故障模式分析。
  • 可观察性

    • 应用程序是否以正确的级别记录
    • 应用程序是否以正确的级别发出指标
    • spring-cloud-sleuth是否启用了分布式跟踪?
    • 在中配置  http 应用程序的运行状况检查 Cloud Foundry
  • 性能

    • 应用程序启动时间是否可以接受?这可以减少吗?
    • 在下游依赖项的上下文中了解自动缩放行为吗?
    • 自动缩放的策略
  • 高层架构审查

    • 该应用程序中的技术债务在哪里
    • 这个应用程式是微服务吗? 沿6个维度进行评估
    • 未来路线图审查