亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring?cloud集成ribbon負載均衡怎么實現

發布時間:2021-12-02 14:59:11 來源:億速云 閱讀:111 作者:iii 欄目:開發技術

這篇文章主要介紹“spring cloud集成ribbon負載均衡怎么實現”,在日常操作中,相信很多人在spring cloud集成ribbon負載均衡怎么實現問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”spring cloud集成ribbon負載均衡怎么實現”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

本文比較簡單集成ribbon,如需要更詳細,請查看我的更多博客內容。

首先創建兩個服務提供者

spring?cloud集成ribbon負載均衡怎么實現

服務一,集成的nacos注冊中心,這塊隨便寫一個同名接口

spring?cloud集成ribbon負載均衡怎么實現

端口配置8301

spring?cloud集成ribbon負載均衡怎么實現

服務二,同名接口內容修改,其他跟上一個服務一大體內容一致

spring?cloud集成ribbon負載均衡怎么實現

端口配置成8302

spring?cloud集成ribbon負載均衡怎么實現

創建服務消費者

spring?cloud集成ribbon負載均衡怎么實現

RibbonConfig.java

package com.example.nacosribbonconsumers.config;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RoundRobinRule;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.ribbon.RibbonClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration
// 如果多個服務可以選擇不同的策略
/*@RibbonClients({
        @RibbonClient(name = "other",configuration = OtherConfig.class),
        @RibbonClient(name = "provider",configuration = ProviderConfig.class)
})*/
@RibbonClient(name = "nacos-ribbon-provider")
public class RibbonConfig {

    //定義負載均衡規則
    @Bean
    public IRule ribbonRule(){
        return new RoundRobinRule();

        /**
         * RoundRobinRule:
         *  輪詢規則
         *
         * RandomRule:
         *  隨機規則
         *
         * WeightedResponseTimeRule:
         *  使用響應時間的平均或者百分比為每個服務分配權重的規則,如果沒法收集響應時間信息,會默認使用輪詢規則
         *
         * BestAvailableRule:
         *  會先根據斷路器過濾掉處于故障的服務,然后選擇并發量最小的服務
         *
         * ZoneAvoidanceRule:
         *  根據server所在Zone和其性能,選擇服務器,默認規則
         *
         * AvailabilityFilteringRule:
         *  先根據斷路器規則過濾掉有問題的服務,然后對剩余的服務按照輪詢的策略進行訪問
         *
         * RetryRule:
         *  先按照RoundRobinRule規則進行服務獲取,如果調用服務失敗會在指定時間內進行重試,直到獲取到可用的服務。
         */
    }

    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

}

RibbonTest.java

package com.example.nacosribbonconsumers.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

@RestController
public class RibbonTest {

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping(value = "/ribbon-consumers/ribbon-test")
    public String printProviderLog(){
        String result = restTemplate.getForObject("http://nacos-ribbon-provider/ribbon-test", String.class);
        return result;
    }

}

pom包

<dependency>
	<groupId>org.springframework.cloud</groupId>	
	<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>

配置文件

spring?cloud集成ribbon負載均衡怎么實現

先啟動兩個服務提供者,然后在啟動服務消費者,瀏覽訪問

spring?cloud集成ribbon負載均衡怎么實現
spring?cloud集成ribbon負載均衡怎么實現

到此,關于“spring cloud集成ribbon負載均衡怎么實現”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通许县| 固始县| 青铜峡市| 安平县| 自贡市| 凉山| 阿城市| 天柱县| 金阳县| 永顺县| 西充县| 那坡县| 凤城市| 靖州| 惠东县| 进贤县| 宁城县| 拜城县| 茂名市| 晋州市| 双牌县| 台中县| 伊春市| 老河口市| 西吉县| 皮山县| 金沙县| 绿春县| 资中县| 龙泉市| 建湖县| 绥中县| 娄烦县| 车险| 凌云县| 潢川县| 张北县| 福贡县| 武川县| 安康市| 瑞金市|