最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud?客戶端Ribbon負(fù)載均衡的實現(xiàn)方法

 更新時間:2022年06月06日 08:51:45   作者:Juno3550  
Ribbon 是 Netflix 提供的一個基于 Http 和 TCP 的客戶端負(fù)載均衡工具,且已集成在 Eureka 依賴中,這篇文章主要介紹了SpringCloud?客戶端Ribbon負(fù)載均衡的實現(xiàn)方法,需要的朋友可以參考下

Ribbon 介紹

Ribbon 是 Netflix 提供的一個基于 Http 和 TCP 的客戶端負(fù)載均衡工具,且已集成在 Eureka 依賴中。

實現(xiàn)原理:SpringCloud Ribbon 的底層采用了一個攔截器,攔截了 RestTemplate 發(fā)出的請求,對地址做了修改。

開啟客戶端負(fù)載均衡,簡化 RestTemplate 調(diào)用

1)在服務(wù)調(diào)用者的 RestTemplate 配置類上添加注解:

@Configuration
public class RestTemplateConfig {

    @Bean
    @LoadBalanced  // 開啟客戶端負(fù)載均衡(默認(rèn)輪詢策略)
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}

2)在調(diào)用時指定服務(wù)名:

package com.controller;
import com.domain.Goods;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

/**
 * 服務(wù)調(diào)用方
 */
@RestController
@RequestMapping("/order")
public class OrderController {

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("/goods/{id}")
    public Goods findOrderByGoodsId(@PathVariable("id") int id) {

        String url = String.format("http://eureka-provider/goods/findOne/%d", id);
        Goods goods = restTemplate.getForObject(url, Goods.class);
        return goods;
    }
}

負(fù)載均衡策略

負(fù)載均衡策略:

  • 輪詢(默認(rèn))
  • 隨機
  • 最小并發(fā)
  • 過濾
  • 響應(yīng)時間
  • 輪詢重試
  • 性能可用性

使用負(fù)載均衡:

方式一:使用 bean 的方式

  • 在消費者端配置負(fù)載均衡策略 Bean:
package com.config;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.context.annotation.Bean;

public class MyRule {

    @Bean
    public IRule rule() {
        return new RandomRule();  // 隨機策略
    }

}
  • 在啟動類添加注解:
package com;

import com.config.MyRule;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.ribbon.RibbonClient;

@EnableDiscoveryClient  // 激活DiscoveryClient
@EnableEurekaClient
@SpringBootApplication
@RibbonClient(name="eureka-provider", configuration= MyRule.class)  // 指定服務(wù)提供方并配置負(fù)載均衡策略
public class ConsumerApp {

    public static void main(String[] args) {
        SpringApplication.run(ConsumerApp.class, args);
    }
}

方式二:使用配置文件

server:
  port: 9000

eureka:
  instance:
    hostname: localhost
  client:
    service-url:
      defaultZone:  http://localhost:8761/eureka

spring:
  application:
    name: eureka-consumer

# 設(shè)置 Ribbon 的負(fù)載均衡策略:隨機策略
EUREKA-PROVIDER:
  ribbon:
    NFloadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule.RandomRule

饑餓加載

Ribbon 默認(rèn)是采用懶加載,即第一次訪問時才會去創(chuàng)建 LoadBalanceClient,請求時間會很長。而饑餓加載則會在項目啟動時創(chuàng)建,達(dá)到降低第一次訪問的耗時。

可以通過下面配置開啟饑餓加載:

ribbon:
  eager-load:
    enabled: true
    clients: userservice

到此這篇關(guān)于SpringCloud 客戶端Ribbon負(fù)載均衡的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)SpringCloud  Ribbon負(fù)載均衡內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java多線程同步工具類CountDownLatch詳解

    Java多線程同步工具類CountDownLatch詳解

    這篇文章主要介紹了Java多線程同步工具類CountDownLatch詳解,CountDownLatch是一個多線程同步工具類,在多線程環(huán)境中它允許多個線程處于等待狀態(tài),直到前面的線程執(zhí)行結(jié)束
    2022-06-06
  • Java中Timer的schedule()方法參數(shù)詳解

    Java中Timer的schedule()方法參數(shù)詳解

    今天小編就為大家分享一篇關(guān)于Java中Timer的schedule()方法參數(shù)詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • SpringBoot實現(xiàn)elasticsearch索引操作的代碼示例

    SpringBoot實現(xiàn)elasticsearch索引操作的代碼示例

    這篇文章主要給大家介紹了SpringBoot如何實現(xiàn)elasticsearch 索引操作,文中有詳細(xì)的代碼示例,感興趣的同學(xué)可以參考閱讀下
    2023-07-07
  • JavaWeb學(xué)習(xí)筆記分享(必看篇)

    JavaWeb學(xué)習(xí)筆記分享(必看篇)

    下面小編就為大家?guī)硪黄狫avaWeb學(xué)習(xí)筆記分享(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Java語言一元運算符實例解析

    Java語言一元運算符實例解析

    這篇文章主要介紹了Java語言中的一元運算符實例解析,需要的朋友可以參考下。
    2017-09-09
  • Java 反射機制

    Java 反射機制

    這篇文章簡要的說明了Java的反射機制,Java的反射是框架設(shè)計的靈魂,本文通過例子能看的更加清晰的理解
    2021-06-06
  • 使用spring aop 統(tǒng)一捕獲異常和寫日志的示例demo

    使用spring aop 統(tǒng)一捕獲異常和寫日志的示例demo

    本文通過一個小demo給大家介紹spring AOP 實現(xiàn)的異常捕獲和日志的方法技巧,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-08-08
  • Java使用Scanner類獲取用戶輸入實例詳解

    Java使用Scanner類獲取用戶輸入實例詳解

    在本篇文章里小編給大家整理了關(guān)于Java使用Scanner類獲取用戶輸入實例內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-11-11
  • 淺談Spring Boot: 接口壓測及簡要優(yōu)化策略

    淺談Spring Boot: 接口壓測及簡要優(yōu)化策略

    這篇文章主要介紹了淺談Spring Boot: 接口壓測及簡要優(yōu)化策略,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • SpringBoot隨機數(shù)設(shè)置及參數(shù)間引用的操作步驟

    SpringBoot隨機數(shù)設(shè)置及參數(shù)間引用的操作步驟

    在Spring Boot配置文件中設(shè)置屬性時,除了可以像前面示例中顯示的配置屬性值外,還可以使用隨機值和參數(shù)間引用對屬性值進(jìn)行設(shè)置。下面給大家介紹SpringBoot參數(shù)間引用隨機數(shù)設(shè)置的操作步驟,感興趣的朋友一起看看吧
    2021-06-06

最新評論

永靖县| 双柏县| 潜江市| 贡嘎县| 周口市| 克什克腾旗| 定结县| 顺昌县| 樟树市| 临潭县| 贡嘎县| 汉中市| 泽州县| 开化县| 鄂州市| 凤冈县| 绥中县| 株洲市| 通城县| 齐河县| 郧西县| 正安县| 炎陵县| 长海县| 明光市| 修水县| 天津市| 西丰县| 阳曲县| 开原市| 隆昌县| 砀山县| 胶州市| 巨野县| 泾川县| 互助| 基隆市| 嘉义县| 宝丰县| 江阴市| 西藏|