一.Spring Cloud定位問題思路總結
Spring Cloud進入Camden時代後,已經比較穩定。一般來說,問題都不是Spring Cloud本身的Bug導致。建議按照如下步驟進行定位。需要JAVA Spring Cloud大型企業分散式微服務雲構建的B2B2C電子商務平臺原始碼 一零三八七七四六二六
1.排查配置問題
首先排查配置問題,舉幾個簡單的例子
YALM縮排是否正確
如果YALM配置檔案縮排不正確,Spring Cloud應用程式無法正常啟動,或配置無法正常載入。
類似問題應該在編碼過程中嚴格避免。
配置屬性是否正確
配置屬性寫錯,不少初學者都會遇到這個問題。
很多場景下,這類問題可藉助IDE的提示功能來排查——當IDE不自動提示或給出警告時,應格外注意。
配置屬性位置是否正確
配置屬性位置不正確可能會導致應用的不正常。舉幾個例子說明:
-應當配置在Eureka Client專案上的屬性,配置在了Eureka Server專案上。
-應當些在bootstrap.yml中的屬性,寫在了application.yml中,例如:
spring:
cloud:
config:
uri: http://localhost:8080/
複製程式碼
-應當寫在application.yml中的屬性,寫在了bootstrap.yml中,例如:
eureka.client.healthcheck.enabled=true
2.排查環境問題
若配置無誤,即可考慮允許環境問題是否存在,同樣舉幾個例子:
環境變數
例如Java環境變數、Maven環境變數以及Docker容器環境變數等。當應用無法正常工作時,應該確保環境變數配置正確。
依賴下載是否完整
曾經有人遇到無法正常啟動的問題,最終發現僅僅是依賴沒有下載完整所致。因此,建議在啟動應用前,使用以下命令打包,從而確認依賴的完整性。
mvn clean package
網路問題
微服務之間通過網路保持通訊,因此,網路常常是排查問題的關鍵。當問題發生時,可優先排查網路問題。
3.排查程式碼問題
經過以上步驟,依然沒有定位到Spring Cloud的問題,那麼可能是編寫程式碼出了問題。很多時候,常常因為少了某個註解,或是依賴缺失,而導致各種異常。 許多場景下,設定合理的日誌級別,會對問題定位有奇效。
4.排查Spring Cloud自身問題
如果確定不是自身程式碼問題,就可Debug一下Spring Cloud的程式碼了。同時,可在Github等平臺給Spring Cloud專案組提交Issue,然後參考官方答覆,嘗試避免相應問題。如問題無法規避,就需要Spring Cloud進行擴充套件,或者修復Spring Cloud的Bug,從而滿足需求。此時,請不要忘記在Spring Cloud的Github上Pull Request,協助官方改進Spring Cloud,讓Spring Cloud更加完善、穩定。 java B2B2C Springcloud電子商城系統