Ribbon負載均衡

2022-08-30 17:54:14 字數 1142 閱讀 1188

spring cloud ribbon是基於netflix ribbon實現的一套客戶端 負載均衡的工具。

簡單的說,ribbon是netflix發布的開源專案,主要功能是提供客戶端的軟體負載均衡演算法,將netflix的中間層服務連線在一起。ribbon客戶端元件提供一系列完善的配置項如連線超時,重試等。簡單的說,就是在配置檔案中列出load balancer(簡稱lb)後面所有的機器,ribbon會自動的幫助你基於某種規則(如簡單輪詢,隨機連線等)去連線這些機器。我們也很容易使用ribbon實現自定義的負載均衡演算法。

二、能幹什麼?

lb,即負載均衡(load balance),在微服務或分布式集群中經常用的一種應用。負載均衡簡單的說就是將使用者的請求平攤的分配到多個服務上,從而達到系統的ha。常見的負載均衡有軟體nginx,lvs,硬體 f5等。相應的在中介軟體,例如:dubbo和springcloud中均給我們提供了負載均衡,springcloud的負載均衡演算法可以自定義。

1、集中式lb

即在服務的消費方和提供方之間使用獨立的lb設施(可以是硬體,如f5, 也可以是軟體,如nginx), 由該設施負責把訪問請求通過某種策略**至服務的提供方;

2、程序內lb

三、架構說明

ribbon在工作時分成兩步

第一步先選擇 eurekaserver ,它優先選擇在同乙個區域內負載較少的server.

第二步再根據使用者指定的策略,在從server取到的服務註冊列表中選擇乙個位址。

其中ribbon提供了多種策略:比如輪詢、隨機和根據響應時間加權。

Ribbon負載均衡

在resttemplate feign zuul中都整合了ribbon負載均衡,其中ribbon負載均衡通過iruler介面來實現,總共有6種實現類 其中預設配置方式為簡單輪詢,自定義配置有兩種 1 配置config ribbonclients defaultconfiguration defaul...

Ribbon負載均衡

ribbon主要功能是提供客戶端的軟體負載均衡演算法,提供一系列完整的配置項,例如連線超時 重試等。在eureka的自動配置依賴模組spring cloud starter eureka中,已經整合了ribbon,可以直接使用ribbon來實現客戶端的負載均衡 在eureka中使用ribbon十分簡...

Ribbon負載均衡

什麼是負載均衡?負載均衡 簡單的講就是將使用者的請求均勻的分發到多台伺服器上。使用ribbon實現負載均衡 因為eureka中已經整合了ribbon,所以我們無需引入新的依賴,直接修改 在呼叫服務方加註解,本次使用的是spring在resttemplate的配置方法上新增 loadbalanced註...