微服務開發架構——Spring Cloud常見問題與總結<五>Spring Cloud 定位問題思路總結

我的GitHub地址:https://github.com/leebingbin/git

    在使用Spring Cloud的過程當中,不免會遇到一些問題。因此對Spring Cloud的經常使用問題作一些總結。github

5、Spring Cloud  定位問題思路總結

    根據市場使用的反饋狀況來看,Spring Cloud 進入 Camden 時代後,已經比較穩定。通常來講,問題都不是 Spring Cloud 自己的 Bug 致使。spring

5.1 排查配置問題

    排查配置有無問題:bootstrap

    · YAML 縮進是否正確網絡

    通常新手會發現 Spring Cloud 應用程序到本身本地就沒法正常啓動了,或配置沒法正常加載。有時候協助解決的時候,發現僅僅是 YAML 配置文件縮進不正確。相似這樣的問題,應在編碼的過程當中嚴格規避。架構

    · 配置屬性是否正確app

    配置屬性寫錯,也是很常見的問題。別看該問題低級,但很多初學者都會遇到這類問題(尤爲是當 IDE 不自動提示或給出警告時,應格外注意)。微服務

    · 配置屬性的位置是否正確編碼

    配置屬性位置不正確可能會致使應用的不正常,好比:spa

    -- 應當配置在 Eureka Client 項目中的屬性,配置在了 Eureka Server 項目上

    -- 應當寫在bootstrap.yml 中的屬性,寫在了 application.yml 中

    -- 應當寫在 application.yml 的屬性,寫在了 bootstrap.yml 中

5.2 排查環境問題

    若是確認配置無誤,便可考慮運行環境是否存在問題。

    · 環境變量

    例如Java環境變量、Maven 環境變量以及 Docker 容器環境變量等。當應用沒法正常工做時,應該確保環境變量配置。

    · 依賴下載是否完整

    我在帶新入職的一些新手時,他們遇到應用沒法正常啓動的問題,最終發現僅僅是依賴沒有下載完整所致。所以,建議在啓動應用以前,使用以下命令打包,從而確認依賴的完整性。

mvn clean package

     · 網絡問題

    微服務之間經過網絡保持通訊,所以,網絡經常是排查問題的關鍵。當問題發生時,可優先排查網絡問題。

5.3 排查代碼問題

    如通過以上步驟,依然沒有定位到 Spring Cloud 的問題,那麼可能時編寫的代碼出了問題。不少時候,經常由於少了某個註解,或是依賴缺失,而致使了各類異常。

    因此合理的日誌級別,會對問題的定位有奇效。

5.4 排查 Spring Cloud 自身的問題

    若是肯定不是自身代碼問題,就可 Debug 一下 Spring Cloud 的代碼了。同時,可在 GitHub 等平臺給 Spring Cloud 項目組提交 Issue , 而後參考官方文檔回覆,嘗試規避相應問題。如問題沒法規避,就須要 Spring Cloud 進行擴展,或者修復 Spring Cloud 的 Bug , 從而知足需求。此時,請不要忘記在 Spring Cloud 的 GitHub 上 Pull Request , 協助官方改進 Spring Cloud, 讓 Spring Cloud 更加完善穩定。

 

    Tips: 可參考的資源(在這些地方,均有官方人員參與,可幫助咱們迅速解決問題)

    1)各個項目自身的GitHub,例如 Eureka 的GitHub : http://github.com/Netflix/eureka

    2)Spring Cloud 對應項目的 GitHub ,例如 Eureka 項目在 Spring Cloud Netflix 中:http://github.com/spring-cloud/spring-cloud-netflix

    3)Spring Cloud 的 StackOverflow : http://stackoverflow.com/questions/tagged/spring-cloud

    4)Spring Cloud 的 Gitter : http://gitter.im/spring-cloud/spring-cloud

    5)Spring Cloud 中國社區:http://springcloud.cn

 

 

· 關於「Eureka常見問題」能夠參考,我以前的文章《微服務開發架構——Spring Cloud常見問題與總結<一>Eureka常見問題》:http://www.javashuo.com/article/p-fbmbfvua-w.html ;

· 關於「Hystrix/Feign 整合Hystrix後首次請求失敗」能夠參考,我以前的文章《微服務開發架構——Spring Cloud常見問題與總結<二>Hystrix/Feign 整合Hystrix後首次請求失敗》:http://www.javashuo.com/article/p-mkoycawh-en.html

· 關於 「Turbine 聚合數據不完整」 能夠參考,我以前的文章《微服務開發架構——Spring Cloud常見問題與總結<三>Turbine 聚合數據不完整》:http://www.javashuo.com/article/p-qcbuxfst-eq.html

· 關於「Spring Cloud 各組件配置屬性」能夠參考,我以前的文章《微服務開發架構——Spring Cloud常見問題與總結<四>Spring Cloud 各組件配置屬性》:http://www.javashuo.com/article/p-vxlulaok-eu.html 。

 

本文爲博主原創文章,轉載請註明出處!

https://my.oschina.net/u/3375733/blog/

相關文章
相關標籤/搜索