天天看點

〖Spring Cloud〗Ribbon:負載均衡

Ribbon:負載均衡

相關視訊參考(來自動力節點):https://www.bilibili.com/video/BV1nK4y1j7gL

Ribbon是什麼?

Spring Cloud Ribbon 是基于Netflix Ribbon 實作的一套用戶端負載均衡的工具。

    簡單的說,Ribbon 是 Netflix 釋出的開源項目,主要功能是提供用戶端的軟體負載均衡算法,将 Netflix 的中間層服務連接配接在一起。Ribbon 的用戶端元件提供一系列完整的配置項,如:連接配接逾時、重試等。簡單的說,就是在配置檔案中列出 LoadBalancer (簡稱LB:負載均衡) 後面所有的及其,Ribbon 會自動的幫助你基于某種規則 (如簡單輪詢,随機連接配接等等) 去連接配接這些機器。我們也容易使用 Ribbon 實作自定義的負載均衡算法!

Ribbon能幹嘛?

〖Spring Cloud〗Ribbon:負載均衡
  • LB,即負載均衡 (LoadBalancer) ,在微服務或分布式叢集中經常用的一種應用。
  • 負載均衡簡單的說就是将使用者的請求平攤的配置設定到多個服務上,進而達到系統的HA (高用)。
  • 常見的負載均衡軟體有 Nginx、Lvs 等等。
  • Dubbo、SpringCloud 中均給我們提供了負載均衡,SpringCloud 的負載均衡算法可以自定義。

負載均衡的分類

  • 集中式LB:即在服務的提供方和消費方之間使用獨立的LB設施,如Nginx(反向代理伺服器),由該設施負責把通路請求通過某種政策轉發至服務的提供方!
  • 程序式 LB:将LB邏輯內建到消費方,消費方從服務注冊中心獲知有哪些位址可用,然後自己再從這些位址中選出一個合适的伺服器。Ribbon 就屬于程序内LB,它隻是一個類庫,內建于消費方程序,消費方通過它來擷取到服務提供方的位址!