【一塊兒學源碼-微服務】Ribbon源碼五:Ribbon源碼解讀彙總篇~

前言

想說的話

【一塊兒學源碼-微服務-Ribbon】專欄到這裏就已經所有結束了,共更新四篇文章。html

Ribbon比較小巧,這裏是直接 讀的spring cloud 內嵌封裝的版本,裏面的各類configuration確實有點繞,不過看看第三講Ribbon初始化的過程總結圖就會清晰不少。spring

緊接着會繼續整理學習Feign源碼相關的,敬請期待。微信

說明

原創不易,如若轉載 請標明來源!併發

博客地址:一枝花算不算浪漫
微信公衆號:壹枝花算不算浪漫負載均衡

總結

總結分爲兩個部分,一個是Riboon執行總體流程圖,還一個是Ribbon初始化流程圖。微服務

Ribbon總體流程圖:學習

08_Ribbon總體流程圖.jpg

Ribbon初始化流程圖:.net

02_Ribbon初始化流程圖.jpg

經常使用配置

經常使用配置調試

  1. 禁用 Eureka
    當咱們在 RestTemplate 上添加 @LoadBalanced 註解後,就能夠用服務名稱來調用接口了,當有多個服務的時候,還能作負載均衡。code

    這是由於 Eureka 中的服務信息已經被拉取到了客戶端本地,若是咱們不想和 Eureka 集成,能夠經過下面的配置方法將其禁用。
    xml #禁用 Eureka ribbon.eureka.enabled=false

    當咱們禁用了 Eureka 以後,就不能使用服務名稱去調用接口了,必須指定服務地址。
  2. 配置接口地址列表
    上面咱們講了能夠禁用 Eureka,禁用以後就須要手動配置調用的服務地址了,配置以下:
    xml #禁用 Eureka 後手動配置服務地址 ribbon-config-demo.ribbon.listOfServers=localhost:8081,localhost:8083

    這個配置是針對具體服務的,前綴就是服務名稱,配置完以後就能夠和以前同樣使用服務名稱來調用接口了。
  3. 配置負載均衡策略
    Ribbon 默認的策略是輪詢,從咱們前面講解的例子輸出的結果就能夠看出來,Ribbon 中提供了不少的策略,這個在後面會進行講解。咱們經過配置能夠指定服務使用哪一種策略來進行負載操做。

  4. 超時時間
    Ribbon 中有兩種和時間相關的設置,分別是請求鏈接的超時時間和請求處理的超時時間,設置規則以下:
    xml # 請求鏈接的超時時間 ribbon.ConnectTimeout=2000 # 請求處理的超時時間 ribbon.ReadTimeout=5000

    也能夠爲每一個Ribbon客戶端設置不一樣的超時時間, 經過服務名稱進行指定:
    xml ribbon-config-demo.ribbon.ConnectTimeout=2000 ribbon-config-demo.ribbon.ReadTimeout=5000
  5. 併發參數
    xml #最大鏈接數 ribbon.MaxTotalConnections=500 #每一個host最大鏈接數 ribbon.MaxConnectionsPerHost=500

  6. 重試和負載均衡相關配置
    ```xml
    # 對當前實例的重試次數
    ribbon.maxAutoRetries=1
    # 切換實例的重試次數
    ribbon.maxAutoRetriesNextServer=3
    # 對全部操做請求都進行重試
    ribbon.okToRetryOnAllOperations=true
    # 對Http響應碼進行重試
    ribbon.retryableStatusCodes=500,404,502

    # 負載Rule選擇
    ribbon-config-demo.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.BestAvailableRule
    ```

【一塊兒學源碼-微服務Ribbon】文章連接

  1. 【一塊兒學源碼-微服務】Ribbon 源碼一:Ribbon概念理解及Demo調試
  2. 【一塊兒學源碼-微服務】Ribbon 源碼二:經過Debug找出Ribbon初始化流程及ILoadBalancer原理分析
  3. 【一塊兒學源碼-微服務】Ribbon 源碼三:Ribbon與Eureka整合原理分析
  4. 【一塊兒學源碼-微服務】Ribbon 源碼四:進一步探究Ribbon的IRule和IPing

申明

本文章首發自本人博客:https://www.cnblogs.com/wang-meng 和公衆號:壹枝花算不算浪漫,如若轉載請標明來源!

感興趣的小夥伴可關注我的公衆號:壹枝花算不算浪漫

22.jpg

相關文章
相關標籤/搜索