日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring Cloud 系列之負載均衡 Ribbon的示例代碼

瀏覽:95日期:2023-08-03 18:46:05

1.1 簡介

1.1.1 概述

  Ribbon 是 Netflix 發布的負載均衡器,它有助于控制 HTTP 和 TCP 客戶端的行為。為 Ribbon 配置服務提供者地址列表后,Ribbon 就可基于某種負載均衡算法,自動地幫助服務消費者去請求。Ribbon 默認為我們提供了很多的負載均衡算法,例如輪詢、隨機等。當然,我們也可為 Ribbon 實現自定義的負載均衡算法。Ribbon 現在已經進入維護狀態,但目前仍在大規模使用,Spring Cloud 準備使用 LoadBalancer 作為 Ribbon 的替換方案。

1.1.2 相關依賴

  因為現在的注冊中心幫我們引入了 Ribbon 我們不需要再次引入就可以直接使用,當然也可以再引入一次沒有影響。

Spring Cloud 系列之負載均衡 Ribbon的示例代碼

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

1.2 簡單使用

1.2.1 搭建項目

☞ eureka 項目

1.2.2 開啟負載均衡

  開啟負載均衡非常簡單,只需要在 RestTemplate 的配置方法上加上 @LoadBalanced 注解即可使用最簡單的輪詢。

/** * Created with IntelliJ IDEA. * * @author Demo_Null * @date 2020/10/29 * @description 消費者啟動類 */@SpringBootApplication@EnableDiscoveryClientpublic class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class, args); } @Bean @LoadBalanced public RestTemplate getRestTemplate() { return new RestTemplate(); }}

1.2.3 使用負載均衡

/** * Created with IntelliJ IDEA. * * @author Demo_Null * @date 2020/10/29 * @description */@RestController@RequestMapping('/consumer')public class ConsumerController { @Autowired private DiscoveryClient discoveryClient; @Autowired private RestTemplate restTemplate; @GetMapping('/go') public void go() { List<ServiceInstance> providerServer = discoveryClient.getInstances('ProviderServer'); if (0 == providerServer.size()) { return; } ServiceInstance serviceInstance = providerServer.get(0); String url = serviceInstance.getUri() + '/provider/get'; System.out.println(url + ' --- '); String str = restTemplate.getForObject(url, String.class); System.out.println(str); }}

  喔嚯!報錯了,明明可以訪問到為什么會報找不到實例呢?這是應為咱們使用 DiscoveryClient 直接獲取到了服務提供者集群中某一個的地址,然后讓 RestTemplate 去進行負載均衡。我們都已經拿到了準確地址再怎么進行負載均衡?所以我們這里不能使用 IP 要使用服務名稱。

Spring Cloud 系列之負載均衡 Ribbon的示例代碼Spring Cloud 系列之負載均衡 Ribbon的示例代碼

@RestController@RequestMapping('/consumer')public class ConsumerController { @Autowired private RestTemplate restTemplate; @GetMapping('/go') public void go() { String url = 'http://ProviderServer/provider/get'; String str = restTemplate.getForObject(url, String.class); System.out.println(str); }}

修改完畢之后就可以看到服務提供者是輪換進行提供服務的

Spring Cloud 系列之負載均衡 Ribbon的示例代碼

1.3 替換負載均衡策略

1.3.1 自帶負載均衡策略

Spring Cloud 系列之負載均衡 Ribbon的示例代碼

策略名 策略描述 RoundRobinRule 輪詢選擇 server RandomRule 隨機選擇一個 serve RetryRule 先按輪詢策略獲取服務,如果獲取服務失敗則在指定時間內重試,獲取可用服務 BestAvailableRule 會先過濾由于多次訪問故障而處于斷路器跳閘狀態的服務,然后選擇一個并發量最小的服務 AvailabilityFilteringRule 會優先過濾故障實例,再選擇并發較小的實例 WeightedResponseTimeRule 對輪詢的擴展,響應速度越快的實例選擇比重權越大,越容易被選擇 ZoneAvoidanceRule 復合判斷 server 所在區域的性能和 server 的可用性選擇 server

1.3.2 使用配置類

  官方文檔明確警告,這個自定義配置類不能放在 @ComponedtScan 所掃描的當前包下以及子包下,否則我們自定義的這個配置類就會被所有的 Ribbon 客戶端所共享。即在 Spring Boot 主程序掃描的包外定義配置類或在與 Spring Boot 主程序的同一級目錄但在排除掃描。配置類創建完畢后為 Spring Boo 主程序添加 @RibbonClient 注解引入配置類,用 name 屬性來指定調用的服務名稱,configuration 屬性指定自定義配置類

@Configurationpublic class MyRibbonRule { @Bean public IRule ribbonRule() { return new RandomRule(); }}

@SpringBootApplication@EnableDiscoveryClient// 用 name 來指定調用的服務名稱,configuration 指定自定義配置類@RibbonClient(name = 'ProviderServer', configuration = MyRibbonRule.class)public class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class, args); } @Bean @LoadBalanced public RestTemplate getRestTemplate() { return new RestTemplate(); }}

Spring Cloud 系列之負載均衡 Ribbon的示例代碼

1.3.3 配置文件

# 這種配置的優先級低于配置類# 想要調用的服務名稱,即服務提供者名稱ProviderServer: ribbon: NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

Spring Cloud 系列之負載均衡 Ribbon的示例代碼

☞ 源碼

到此這篇關于Spring Cloud 系列之負載均衡 Ribbon的示例代碼的文章就介紹到這了,更多相關Spring Cloud 負載均衡 Ribbon內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩一区二区三区精品视频第3页| 中文一区一区三区免费在线观| 美女被久久久| 999久久久91| 97精品一区二区| 福利一区二区| 在线看片国产福利你懂的| 精品国产不卡| 国内精品亚洲| 日本亚洲最大的色成网站www| 国产一区亚洲| 伊人精品一区| 国产农村妇女精品一二区| 亚洲一区二区成人| 男女性色大片免费观看一区二区 | 韩国三级一区| 久久久水蜜桃av免费网站| 激情婷婷欧美| 国产亚洲精品自拍| 亚洲精品在线二区| 国产精选久久| 成人午夜在线| 四虎影视精品| 亚洲免费影视| 色综合视频一区二区三区日韩 | 国产精品社区| 日韩国产欧美视频| 日韩欧美激情| 久久中文在线| 亚洲www啪成人一区二区| 女同性一区二区三区人了人一| 蜜桃视频一区二区| 国产午夜一区| 日韩一区电影| 日韩精品一级二级 | 日本成人一区二区| 欧美va天堂在线| 国产精品久久免费视频| 精品成av人一区二区三区 | 欧美午夜精彩| 亚洲精品视频一二三区| 国产精品一区亚洲| 中文字幕在线看片| 狠狠爱成人网| 91成人在线| 精精国产xxxx视频在线播放| 视频一区二区中文字幕| 国产精品v亚洲精品v日韩精品| 日韩欧美精品综合| 亚洲tv在线| 国产一区二区三区91| 一区在线观看| 国产精品对白久久久久粗| 播放一区二区| 好吊视频一区二区三区四区| 久久精品72免费观看| 波多视频一区| 中文字幕一区二区三区在线视频| 成人国产精品久久| 亚洲欧美日韩一区在线观看| 国产精品亚洲综合久久| 激情视频一区二区三区| 国产精品手机在线播放| 国产99精品| 国产探花一区| 欧美日韩国产探花| 久久99影视| 久色成人在线| 日韩久久精品网| 蜜臀久久久99精品久久久久久| 丰满少妇一区| 亚洲精品影院在线观看| 超碰在线99| 日韩二区三区在线观看| 成人羞羞视频播放网站| 国产精品久久久久久久久久白浆 | 成人精品久久| 亚洲欧美日本国产| 99精品视频在线| 国产精品xxx在线观看| 亚洲视频播放| 9999国产精品| 久久99久久久精品欧美| 日韩精品一二三四| 激情久久中文字幕| 不卡福利视频| 麻豆国产精品| 日韩高清在线不卡| 在线 亚洲欧美在线综合一区| 国产精品久久久久久模特| 亚洲我射av| 亚洲精品中文字幕乱码| 超级白嫩亚洲国产第一| 免费在线成人| 91精品丝袜国产高跟在线| 在线视频精品| 91精品久久久久久久久久不卡| 麻豆传媒一区二区三区| 日韩高清一级| 亚洲人成毛片在线播放女女| 在线日韩一区| 青青青免费在线视频| 国产精品久久久久久久久久妞妞| 午夜亚洲福利| 日韩视频不卡| 久久在线视频免费观看| а√天堂中文在线资源8| 国产精品蜜月aⅴ在线| 亚洲欧美网站在线观看| 日韩影院在线观看| 91九色精品| 伊人精品一区| 欧美a级片一区| 欧美手机在线| 蜜臀91精品国产高清在线观看| 日韩在线精品| 高清一区二区三区av| 精品一区二区三区免费看| 国产日韩精品视频一区二区三区| 亚洲精品一区二区妖精| 美女少妇全过程你懂的久久| 日韩成人亚洲| 日韩精品永久网址| 精品国模一区二区三区| 人在线成免费视频| 久久久成人网| 99精品综合| 欧美日韩国产在线观看网站| 136国产福利精品导航网址| 久久狠狠婷婷| 在线日韩中文| 国产一级一区二区| 久久福利影视| 免费在线观看一区二区三区| 午夜在线视频一区二区区别| 午夜宅男久久久| 中文字幕一区日韩精品| 青青草伊人久久| 欧美国产专区| 国产夫妻在线| 色婷婷久久久| 亚洲成人国产| 视频一区中文字幕国产| 日本成人中文字幕| 欧美日韩夜夜| 国产一区二区三区四区五区| 岛国av在线播放| 欧美日一区二区| 日韩精品一卡二卡三卡四卡无卡| 久久国产88| 国产欧美日韩综合一区在线播放| 久久不卡国产精品一区二区| 国产成人精品999在线观看| 久久久久91| 亚洲欧美日韩在线观看a三区 | 97精品中文字幕| 九色精品91| 亚洲综合五月| 国产精品hd| 蜜桃精品在线| 日韩精品一级二级 | 麻豆国产精品一区二区三区| 不卡福利视频| 天堂成人免费av电影一区 | 最新亚洲国产| 美女视频免费精品| 久久亚洲国产| 亚洲精品国产日韩| 精品国产亚洲一区二区三区在线 | 欧美日韩中出| 久久久久久婷| 欧美日韩精品一本二本三本 | 久久国产亚洲| 亚洲三级av| 狠狠久久伊人| 欧美日韩国产传媒| 日韩精品久久理论片| 97人人精品| 一区二区三区四区在线观看国产日韩| 国产黄色一区| 亚洲精品91| 久久99精品久久久久久园产越南| 成人日韩在线| 日韩超碰人人爽人人做人人添| 9999国产精品| 日韩精品欧美大片| 国产99亚洲| 国产乱人伦丫前精品视频| 欧美亚洲精品在线| 日韩成人av影视| 久久三级视频| 国产日韩欧美三区| 偷拍欧美精品| 国产精品啊v在线| 国产精品普通话对白| 久久中文欧美| 日韩欧美高清一区二区三区| 日韩大片在线播放| 午夜久久av| 特黄特色欧美大片|