Spring Cloud版——電影售票系統<二>使用Ribbon實現客戶端負載均衡

GitHub地址:https://github.com/leebingbin/SpringCloud.MovieTicketinggit

 

    在上篇博客《Spring Cloud版——電影售票系統<—>微服務註冊與發現》中,已經實現了微服務的註冊與發現。啓動各個微服務時,Eureka Client會把本身的網絡信息註冊到Eureka Server。然而,這樣的架構依然有一些問題,好比負載均衡。通常來講,各個微服務都會部署多個實例。那麼服務消費者要如何將請求分攤到多個服務者實例上呢?github

1、Ribbon簡介算法

    Ribbon 是 Netflix 發佈的負載均衡器,它有助與控制HTTP和TCP客戶端的行爲。爲Ribbon配置服務提供者地址列表後,Ribbon就可基於某種負載均衡算法,自動地幫助服務消費者去請求。Ribbon 默認爲咱們提供了不少的負載均衡算法,例如輪詢,隨機等。固然,咱們也能夠爲Ribbon實現自定義的負載均衡算法。spring

    在Spring Cloud中,當Ribbon 和 Eureka 配合使用時, Ribbon可自動從Eureka Server獲取服務提供者地址列表,並基於負載均衡算法,請求其中一個服務提供者實例。網絡

    Eureka 與 Ribbon 配合使用架構以下:架構

 

    Tips:爲項目引入Ribbon的依賴,Ribbon的依賴是:負載均衡

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-ribbon</artifactId>
    </dependency>

但一般都不用單獨添加這個依賴的,由於這個依賴已經包含在spring-cloud-starter-ribbon,無須再次引入。微服務

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
相關文章
相關標籤/搜索