java B2B2C Springcloud電子商城系統-Spring Cloud常見問題與總結(四)

springcloud885發表於2019-05-05

一.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電子商城系統

相關文章