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