Ribbon負載均衡

2021-10-01 13:26:52 字數 743 閱讀 3347

ribbon主要功能是提供客戶端的軟體負載均衡演算法,提供一系列完整的配置項,例如連線超時、重試等。

在eureka的自動配置依賴模組spring-cloud-starter-eureka中,已經整合了ribbon,可以直接使用ribbon來實現客戶端的負載均衡

在eureka中使用ribbon十分簡單,只需要在例項化resttemplate的方法上新增@loadbalanced註解,並在其執行方法中使用服務例項的名稱即可。

<1>新增@loadbalanced註解。

<2>使用服務例項的名稱。

詳細:<1>新增@loadbalanced註解。在microservice-eureka-user工程的引導類中

@bean

@loadbalanced

public resttemplate resttemplate()

被註解後,就具有了負載均衡的能力。

<2>使用服務例項的名稱。

public string findordersbyuser(@pathvariable string id)

不使用「主機位址+埠號」的形式,而使用的是註冊中心的訂單服務例項名稱。

其實ribbon在工作時主要分為兩步:第一步選擇eureka server,它會優先選擇在同一區域且負載較少的sever;第二步會根據使用者指定的策略(如輪詢、隨機等)從server取到的服務註冊列表中選擇乙個位址。

feign整合了ribbon

具體過程:

Ribbon負載均衡

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

Ribbon負載均衡

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

Ribbon負載均衡

eureka內部繼承了ribbon ribbon是乙個典型的客戶端負載均衡器,ribbon會獲取服務的所有位址,很具內部的負載均衡的演算法,獲取本次請求的有效位址 準備兩個商品微服務,9001,9011 訂單呼叫,微服務準備兩個服務,2訂單在注入resttemplate這個bean的時候,宣告乙個註...