溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SpringCloud-Ribbon自定義負(fù)載均衡策略是怎樣的

發(fā)布時(shí)間:2021-09-29 14:18:41 來(lái)源:億速云 閱讀:156 作者:柒染 欄目:編程語(yǔ)言

本篇文章為大家展示了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è)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI