去查詢我們的ribbon會發現有乙個介面irule,然後去檢視(快捷鍵ctrl+h)下irule的實現類,發現有其他的輪詢規則:
![在這裡插入描述](
然後再去ribbon官方檢視,發現不能把自定義負載均衡方法放自動配置類下,所以我們需要自己去建立乙個目錄用來存放均衡規則。
這是我的目錄
然後我們在myrule的package下建立類myselfrule:
**如下
package com.zsp.myrule;
import com.netflix.loadbalancer.irule;
import com.netflix.loadbalancer.randomrule;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
import org.springframework.web.client.resttemplate;
@configuration
public
class
myselfrule
}
最後,去主啟動類裡面開啟
@ribbonclient(name = 「cloud-payment-service」,configuration = myselfrule.class)
package com.zsp.springcloud;
import com.zsp.myrule.myselfrule;
import org.springframework.cloud.netflix.eureka.enableeurekaclient;
import org.springframework.cloud.netflix.ribbon.ribbonclient;
@enableeurekaclient
@ribbonclient
(name =
"cloud-payment-service"
,configuration = myselfrule.
class
)public
class
ordermain80
}
效果:第一次重新整理
第二次重新整理
第三次重新整理
說明我們更換負載均衡為隨機策略成功
Ribbon 負載規則替換
1 新增規則類 注意 官方文件明確給出了警告 這個自定義配置類不能放在 componentscan 所掃瞄的當前包下以及子包下,否則自定義的配置類就會被所有的 ribbon 客戶端所共享,達不到特殊化定製的目的了。package com.atguigu.myrule import com.netfl...
Ribbon負載均衡
在resttemplate feign zuul中都整合了ribbon負載均衡,其中ribbon負載均衡通過iruler介面來實現,總共有6種實現類 其中預設配置方式為簡單輪詢,自定義配置有兩種 1 配置config ribbonclients defaultconfiguration defaul...
Ribbon負載均衡
ribbon主要功能是提供客戶端的軟體負載均衡演算法,提供一系列完整的配置項,例如連線超時 重試等。在eureka的自動配置依賴模組spring cloud starter eureka中,已經整合了ribbon,可以直接使用ribbon來實現客戶端的負載均衡 在eureka中使用ribbon十分簡...