Ribbon 學習筆記

2021-09-25 06:24:55 字數 1814 閱讀 6441

一 spring cloud ribbon  客戶端負載均衡

1、 @loadbalanced     開啟客戶端負載均衡

沁bbon 的時候 spring cloud 預設採用zoneaware-loadbalancer

2、 spring cloud ribbon 是乙個基於 http 和 tcp 的客戶端負載均衡工具,它基於 netflixribbon 實現

3、客戶端負載均衡和服務端負載均衡最大的不同點在千上面所提到的服務清單所儲存

的位置。 在客戶端負載均衡中, 所有客戶端節點都維護著自己要訪問的服務端清單

4、負載均衡策略

random rule  隨機

roundrobinrule     線性輪詢

retryrule    具備重試機制的例項選擇

weightedresponsetimerule    對 roundrobinrule 的擴充套件, 增加了根據例項的運**況來計算權重

二 resttemplate

最後乙個引數didi 會替換 url 中的 佔位符, 而返回的 responseentity物件中的 body 內容型別會根據第二個引數轉換為 string 型別。

res七template resttemplate = new resttemplate(); 

若我們希望返回的 body 是乙個 user 物件型別,也可以這樣實現:

三、重試功能

開啟重試機制

spring.cloud.loadbalancer.retry.enabled=true 

斷路器的超時時間需要大於ribbon的超時時間, 不然不會觸發重試

hystrix.command.default.execution.isolation.thread.timeoutinmilliseconds=loooo 

請求連線的超時時間

hello-service.ribbon.connecttimeout=250 

請求處理的超時時間

hello-service.ribbon.readtimeout=looo 

對所有操作請求都進行重試

hello-service.ribbon.oktoretryonalloperations=true 

切換例項的重試次數

hello-service.ribbon.maxautoretriesnextserver=2

對當前例項的重試次數

hello-service.ribbon.maxautoretries=l

根據如上配置, 當訪問到故障請求的時候, 它會再嘗試訪問 一次當前例項(次數由

maxautoretries配置), 如果不行, 就換 乙個例項進行訪問, 如果還是不行, 再換 一次

例項訪問(更換次數由maxautore紅iesnextserver配置), 如果依然不行, 返回失敗

資訊。

SpringCloud學習之Ribbon使用(四)

1 關於 ribbon spring cloud ribbon 是基於 netflix ribbon 實現的一套客戶端負載均衡的工具。ribbon 是 netflix 發布的開源專案,主要功能是提供客戶端的軟體負載均衡演算法,將 netflix 的中間層服務連線在一起。ribbon 客戶端元件提供一...

Ribbon單機集群配置筆記

eureka server集群配置 eureka服務 一 server port 9003 eureka配置 eureka instance hostname eureka9003.com 服務端例項名稱 client register with eureka false 表示是否向eureka註冊...

關於Ribbon選單

1.選項卡頁 ribbontab 使用者可以建立乙個新的選項卡頁,用來管理自己的面板 ribbonpanel 2 面板 ribbonpanel 其他控制項的容器 3.命令按鈕 pushbutton 對應乙個 externalcommand 單擊這個按鈕,對應的 externalcommand 將被執...