微服務的360度運行狀況檢查的評審模板

  • 2019 年 11 月 8 日
  • 筆記

  • 那裡有多少個未使用的庫?
  • 有沒有可用Spring附帶的功能替換的庫?

連接池

  • 如何處理並發?

延遲

  • 該應用需要多長時間才能啟動?
  • 使用rsockets和https時,高負載下的數據傳輸速度是否存在有意義的差異?
  • 使用Reactive技術堆棧與傳統技術堆棧時,數據傳輸速度是否存在有意義的差異?
  • HTTP調用效率低下是否存在值得注意的地方?
  • 該應用程式的網路通話的平均響應時間是多少?

記憶體/ CPU

  • 應用程式在高負載下會使用多少記憶體?是否需要JVM GC調優?
  • 應用程式在高負載下使用多少個執行緒?
  • 最高約束是什麼?(CPU,記憶體,磁碟,網路等)

錯誤/異常處理

  • 該應用通常在高負載下會拋出多少個異常?
  • 兩次故障之間的平均時間是多少?
  • 中斷通常持續多長時間?

程式碼複雜度/清潔度

  • 應用程式中最高的圈複雜度是什麼?
  • 應用程式中有多少個未使用的類?
  • 應用程式中有多少種未使用的方法?
  • 遵守15個因素?

https://cloud.rohitkelapure.com/2017/10/pushing-zero-factor-apps-to-cloud.html

  • 高頻程式碼更改熱圖
  • 一次1生產事故回顧

springboot

  • 是否有Classpath依賴項膨脹?
  • 升級到s-boot 2.2並可能產生依賴關係?

彈性

  • 斷路器和HTTPClient是否配置正確
  • 斷路器的度量值是否通過千分尺放置在消防水帶中
  • 故障模式分析。

可觀察性

  • 應用程式是否以正確的級別記錄
  • 應用程式是否以正確的級別發出指標
  • spring-cloud-sleuth是否啟用了分散式跟蹤?
  • 在中配置 http 應用程式的運行狀況檢查 Cloud Foundry

性能

  • 應用程式啟動時間是否可以接受?這可以減少嗎?
  • 在下游依賴項的上下文中了解自動縮放行為嗎?
  • 自動縮放的策略

高層架構審查

  • 該應用程式中的技術債務在哪裡
  • 這個應用程式是微服務嗎?沿6個維度進行評估

https://content.pivotal.io/blog/should-that-be-a-microservice-keep-these-six-factors-in-mind

  • 未來路線圖審查

作者:banq 來源:https://www.jdon.com/53360