springCloud 常用組件總結


本文淺談只是對我自己初期認識這spring cloud的一個筆記。

       微服務是一種架構風格和一種應對業務的架構策略。實現這種的技術方式很多。本文主要說spring cloud。

 

spring cloud主要包括一下幾個組件:

 1,eureka 注冊中心。

   1)一個eureka服務也是客戶端,可以自己注冊自己,也可以相互注冊形成高可用集群。

   2)eureka是客戶端發現服務,客服端自己過濾,和選擇負載均衡策略。

           3)eureka與注冊服務器保持通信是通過心跳檢測機制。

2,ribbon負載均衡器,三個方法核心。

          1)獲取所有服務列表。

   2)rule。選擇服務器規則(默認輪詢)

           3)監聽可用服務列表

3,通訊方式。

           1)restTempte 請求

   2)feign 請求。

 4,config 統一配置中心。

           1)config-server從遠端git服務器拉取配置到本地的git.

    2) 調用端config-client,在注冊中心獲取config-server服務。

    注意把application.yml改成bootstrap.yml。

    3)獲取方式 ,看日志或者文檔(lable/name-dev.yml)

 5,bus動態配置刷新。用於config自動刷新。

    1)config-server和config-client配置bus和MQ。

    2) 遠端git服務配置 webhook回調bus.

    3)使用就在pom.xml配置bus的maven。

6,zuul服務網管。

   1)性能比nginx差。

   2)路由+過濾器 =zuul

   3) 核心是一系列的過濾器。

               前置(pre)

    后置(post)

       路由(Route)

    錯誤(Error)

            4)限流(RateLimiter)令牌算法,放在fiter優先級最高。也可以配合nginx分流用。

            5)可以鑒權和統一跨域配置(nginx也可以做跨域)。

 7,hystrix服務容錯。服務之間調用會有各種問題。這個組件用在所有調用方。

  1)為服務器提供容錯保護。在資源不夠或者業務壓力大的時候使用優先核心服務。主要四點作用

    服務降級

    依賴隔離(線程池隔離)

    服務熔斷

    監控(hystrix-dashboard)

  2)使用:

    a,通過hystrixCommand注解指定請求。

    b,fallbavkMethed實現降級后的實現邏輯。

       3) 超時降級默認1秒。所有要根據具體業務,和調用鏈具體配置。

  4)服務熔斷主要四個配置。

    設置熔斷為true

    請求數(統計單位)

    熔斷時間(這段時間請求都執行fallback)

    錯誤百分比

  5)dashboard監控要配合使用。監控熔斷,界面監控。

8,dashboard服務監控界面。給hystrix提供界面監控。

9,sleuth鏈路監控。主要是唯一標識對應一個請求,和一個請求的服務。

      1,日志打印唯一請求標識。

    2,配置把數據推向zipkin

   3,抽樣百分比(開發環境設置為1)

10,zipkin鏈路監控可視化。

  1,主要界面可視化查看鏈路調用情況。

  2,使用的時候,一般pom.xml配置zipkin,包含了sleuth。

 

*******************************

因為spring cloud還是有點巨大,東西比較多。建議根據業務需要團隊人數才采用這個架構。

 

    

    

    

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM