最近的一點感想,剛剛想到,就此寫下
開發動工之前必須要做的事情
- 跟產品過:業務背景、業務流程(用戶視角,即頁面上的動作,怎么跳轉,以及客戶端和服務端交互流程)、現有接口的能力、需要新提供的接口
- 跟測試過:冒煙測試用例
排查問題時的思路
- 手頭的資源:系統日志、異常堆棧日志、系統監控、GC日志、線程堆棧
- 首先不是靠google,順著源碼查
- 排查的思路(應用層——>框架——JVM——>系統;自己的服務到依賴的外部服務)
- 自己的代碼和服務是否正常?
- 依賴的服務接口是否正常?
- 查看框架源碼?
- 查看JVM表現?
- 查看系統層面的問題?
線上問題排查的工具
- greys,可以在指定方法處打樁,查看關鍵點流程
- gceasy.io,可以分析gc日志