天天看點

Ribbon

Ribbon

負載均衡有哪些方式

1)伺服器端負載均衡 Nginx

2)用戶端側負載均衡 Ribbon

Ribbon是什麼

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

下圖展示了Eureka使用Ribbon時候的大緻架構:

Ribbon工作時分為兩步:第一步先選擇 Eureka Server, 它優先選擇在同一個Zone且負載較少的Server;第二步再根據使用者指定的政策,在從Server取到的服務注冊清單中選擇一個位址。其中Ribbon提供了多種政策,例如輪詢round robin、随機Random、根據響應時間權重等。

Ribbon 示例

Ribbon自定義配置

Ribbon脫離Eureka使用

使用原生的Ribbon API

實作上加 @LoadBalanced就具有Ribbon的功能:

@Bean

@LoadBalanced

public RestTemplate restTemplate() {

return new RestTemplate();

}

繼續閱讀