您好,登錄后才能下訂單哦!
本篇文章為大家展示了SpringCloud-Ribbon自定義負(fù)載均衡策略是怎樣的,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
通過(guò)實(shí)現(xiàn) IRule 接口可以自定義負(fù)載策略,主要的選擇服務(wù)邏輯在 choose 方法中。我們這邊只是演示怎么自定義負(fù)載策略,所以沒(méi)寫(xiě)選擇的邏輯,直接返回服務(wù)列表中第一個(gè)服務(wù)。具體代碼如下所示。
public class MyRule implements IRule {private ILoadBalancer lb;@Overridepublic Server choose(Object key) { List<Server> servers = lb.getAllServers();for (Server server : servers) { System.out.println(server.getHostPort()); }return servers.get(0); }@Overridepublic void setLoadBalancer(ILoadBalancer lb) {this.lb = lb; }@Overridepublic ILoadBalancer getLoadBalancer() {return lb; } }
在 Spring Cloud 中,可通過(guò)配置的方式使用自定義的負(fù)載策略,ribbon-config-demo 是調(diào)用的服務(wù)名稱。
ribbon-config-demo.ribbon.NFLoadBalancerRuleClassName=net.biancheng.ribbon_eureka_demo.rule.MyRule
重啟服務(wù),訪問(wèn)調(diào)用了其他服務(wù)的接口,可以看到控制臺(tái)的輸出信息中已經(jīng)有了我們自定義策略中輸出的服務(wù)信息,并且每次都是調(diào)用第一個(gè)服務(wù)。這跟我們的邏輯是相匹配的。
上述內(nèi)容就是SpringCloud-Ribbon自定義負(fù)載均衡策略是怎樣的,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。