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