一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - SpringCloud Ribbon 負(fù)載均衡的實(shí)現(xiàn)

SpringCloud Ribbon 負(fù)載均衡的實(shí)現(xiàn)

2021-07-01 14:48huanzi-qch Java教程

Ribbon是一個(gè)客戶端負(fù)載均衡器,它提供了對(duì)HTTP和TCP客戶端的行為的大量控制。這篇文章主要介紹了SpringCloud Ribbon 負(fù)載均衡的實(shí)現(xiàn),感興趣的小伙伴們可以參考一下

前言

ribbon是一個(gè)客戶端負(fù)載均衡器,它提供了對(duì)http和tcp客戶端的行為的大量控制。我們?cè)谏掀痛粒?a href="http://www.ythuaji.com.cn/article/174852.html" target="_blank">springcloud系列——feign 服務(wù)調(diào)用)已經(jīng)實(shí)現(xiàn)了多個(gè)服務(wù)之間的feign調(diào)用,服務(wù)消費(fèi)者調(diào)用服務(wù)提供者,本文記錄feign調(diào)用ribbon負(fù)載均衡的服務(wù)提供者

github地址:https://github.com/netflix/ribbon

官方文檔:https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.1.0.rc2/single/spring-cloud-netflix.html

服務(wù)提供者

服務(wù)提供者有兩個(gè),實(shí)際上可以看做只有一個(gè),因?yàn)檫@兩個(gè)只有端口不同

maven引入ribbon

?
1
2
3
4
5
<!-- ribbon -->
   <dependency>
     <groupid>org.springframework.cloud</groupid>
     <artifactid>spring-cloud-starter-netflix-ribbon</artifactid>
   </dependency>

創(chuàng)建ribbonconfig文件,主類添加@ribbonclient(name = "ribbonconfig", configuration = ribbonconfig.class),我這里偷懶,直接在主類中創(chuàng)建內(nèi)部類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@enableeurekaclient
@ribbonclient(name = "ribbonconfig", configuration = ribbonconfig.class)
@springbootapplication
public class springbootspringdatajpaapplication{
 
  public static void main(string[] args) {
    springapplication.run(springbootspringdatajpaapplication.class, args);
  }
}
 
@configuration
class ribbonconfig {
 
  @bean
  public irule ribbonrule(){
    return new randomrule(); //分配策略:隨機(jī)選擇一個(gè)server
//    return new bestavailablerule(); //分配策略:選擇一個(gè)最小的并發(fā)請(qǐng)求的server,逐個(gè)考察server,如果server被tripped了,則忽略
//    return new roundrobinrule(); //分配策略:輪詢選擇,輪詢index,選擇index對(duì)應(yīng)位置的server
//    return new weightedresponsetimerule(); //分配策略:根據(jù)響應(yīng)時(shí)間分配一個(gè)weight(權(quán)重),響應(yīng)時(shí)間越長(zhǎng),weight越小,被選中的可能性越低
//    return new zoneavoidancerule(); //分配策略:復(fù)合判斷server所在區(qū)域的性能和server的可用性選擇server
//    return new retryrule(); //分配策略:對(duì)選定的負(fù)載均衡策略機(jī)上重試機(jī)制,在一個(gè)配置時(shí)間段內(nèi)當(dāng)選擇server不成功,則一直嘗試使用subrule的方式選擇一個(gè)可用的server
  }
 
  @bean
  public iping ribbonping() {
    return new pingurl();
  }
 
  @bean
  public serverlistsubsetfilter serverlistfilter() {
    serverlistsubsetfilter filter = new serverlistsubsetfilter();
    return filter;
  }
 
}

下表顯示了spring cloud netflix默認(rèn)為ribbon提供的bean:

SpringCloud Ribbon 負(fù)載均衡的實(shí)現(xiàn)

官網(wǎng)例子:

SpringCloud Ribbon 負(fù)載均衡的實(shí)現(xiàn)

我們添加一個(gè)測(cè)試接口

?
1
2
3
4
5
6
7
8
9
10
@restcontroller
@requestmapping("/user")
public class usercontroller {
 
  @requestmapping("/ribbon")
  public string ribbon() {
    return "springdatejpa -- 我的端口是:10088";
  }
 
}

第二個(gè)服務(wù)提供者也是這樣配置,注意:應(yīng)用名要相同(spring.application.name=springdatejpa);端口不同;

服務(wù)消費(fèi)者

服務(wù)消費(fèi)者使用feign調(diào)用,無(wú)需做任何修改,feign已經(jīng)使用ribbon。具體配置請(qǐng)戳:springcloud系列——feign 服務(wù)調(diào)用

?
1
2
3
4
5
6
@feignclient(name = "springdatejpa", path = "/user/")
public interface myspringbootfeign {
 
  @requestmapping("/ribbon")
  string ribbon();
}
?
1
2
3
4
5
6
7
/**
   * feign調(diào)用
   */
  @getmapping("feign/ribbon")
  string ribbon(){
    return myspringbootfeign.ribbon();
  }

效果

啟動(dòng)所有項(xiàng)目,我們注冊(cè)了三個(gè)服務(wù),其中:

有兩個(gè)服務(wù)名稱相同、處理的業(yè)務(wù)相同、端口不同,這兩臺(tái)作為服務(wù)提供者(可看做是一個(gè)“小集群”);

另一個(gè)是服務(wù)消費(fèi)者(feign調(diào)用);

SpringCloud Ribbon 負(fù)載均衡的實(shí)現(xiàn)

消費(fèi)者不斷調(diào)用,ribbon會(huì)從注冊(cè)中心的服務(wù)列表拉取實(shí)例集合進(jìn)行負(fù)載均衡調(diào)用背后的服務(wù)提供者

SpringCloud Ribbon 負(fù)載均衡的實(shí)現(xiàn)

后記

ribbon負(fù)載均衡已經(jīng)可以實(shí)現(xiàn),更多配置請(qǐng)看官方文檔

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://www.cnblogs.com/huanzi-qch/p/10136254.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 女人特黄大aaaaaa大片 | 99久精品 | 欧美成狂野欧美在线观看 | 欧美影院一区二区三区 | 欧美日韩亚洲国内综合网香蕉 | 国产啪精品视频网给免丝袜 | 女八把屁股扒开让男生添 | 久久久精品3d动漫一区二区三区 | 亚洲欧美综合区自拍另类 | 精品免费视在线视频观看 | 毛片视频网站在线观看 | 亚洲女bbwxxxx另类 | 秋霞理论在一l级毛片 | 人人人人看人人人做人人 | 好吊日在线| v视影院 | 描写细腻的高h肉 | 成年美女黄网站色视频大全免费 | 亚洲人成毛片线播放 | 国产成人亚洲精品91专区高清 | 亚洲精品国产在线观看 | 特黄特色大片免费影院 | 国四虎影永久 | 2020年国产精品午夜福利在线观看 | 91在线永久 | china外卖员gay国产xnxx | 欧美视频一级 | 国产白虎 | 喜马拉雅听书免费版 | 亚洲精品福利在线 | 国内精品久久久久影院网站 | yellow片在线观看 | chinese高中生gay男同 | 果冻传媒九一制片厂网站 | www视频免费看| 99久久精品99999久久 | 桃乃木香奈作品在线观看 | 歪歪视频在线播放无遮挡 | 91人成尤物在线 | 黑人好大好硬好深好爽想要h | 欠操h |