欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring?Cloud?Alibaba負載均衡實現(xiàn)方式

 更新時間:2022年10月08日 16:40:46   作者:請叫我黃同學  
這篇文章主要為大家介紹了Spring?Cloud?Alibaba負載均衡實現(xiàn)方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

一、負載均衡的兩種方式

服務(wù)器端負載均衡

傳統(tǒng)的方式前端發(fā)送請求會到我們的的nginx上去,nginx作為反向代理,然后路由給后端的服務(wù)器,由于負載均衡算法是nginx提供的,而nginx是部署到服務(wù)器端的,所以這種方式又被稱為服務(wù)器端負載均衡。

客戶端側(cè)負載均衡

現(xiàn)在有三個實例,內(nèi)容中心可以通過discoveryClient 獲取到用戶中心的實例信息,如果我們再訂單中心寫一個負載均衡的規(guī)則計算請求那個實例,交給restTemplate進行請求,這樣也可以實現(xiàn)負載均衡,這個算法里面,負載均衡是有訂單中心提供的,而訂單中心相對于用戶中心是一個客戶端,所以這種方式又稱為客戶端負負載均衡。

二、手寫一個客戶端側(cè)負載均衡器

◆隨機選擇實例

@Autowired
private DiscoveryClient discoveryClient;
@GetMapping("/order/create")
public String createOrder(Integer productId,Integer userId){
    List<ServiceInstance> instances = discoveryClient.getInstances("msb-stock");
    List<String> targetUrls = instances.stream()
        // 數(shù)據(jù)變換
        .map(instance -> instance.getUri().toString() + "/stock/reduce")
        .collect(Collectors.toList());
    int i = ThreadLocalRandom.current().nextInt(targetUrls.size());
    String targetUrl = targetUrls.get(i);
    log.info("請求求目標地址:{}",targetUrl);
    String result = restTemplate.getForObject(targetUrl +"/"+ productId, String.class);
    log.info("進行減庫存:{}",result);
    return "下單成功";
}

三、使用Ribbon實現(xiàn)負載均衡

Ribbon是什么? Netflix開源的客戶端側(cè)負載均衡器

更加直觀說就是ribbon就是簡化我們這段代碼的小組件,不過他比我們的代碼要強大一些,他給他們提供了豐富的負載均衡算法。

引入ribbon :三步驟: 加依賴,啟動注解,寫配置

不需要加,nacosdiscovery,已經(jīng)給添加了依賴,

寫注解,需要寫到RestTemplate上面。

第三步:寫配置

沒有配置。

改造我們的請求:

url:改為 下面 當請求發(fā)送的發(fā)送的時候ribbon會將nx-us進行轉(zhuǎn)化為我們nacos里面中的地址。并且進行負載均衡算法,進行請求,

以上就是Spring Cloud Alibaba負載均衡實現(xiàn)方式的詳細內(nèi)容,更多關(guān)于Spring Cloud Alibaba負載均衡的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 記錄一個使用Spring?Data?JPA設(shè)置默認值的問題

    記錄一個使用Spring?Data?JPA設(shè)置默認值的問題

    這篇文章主要介紹了使用Spring?Data?JPA設(shè)置默認值的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 利用java判斷質(zhì)數(shù)的3種方法代碼示例

    利用java判斷質(zhì)數(shù)的3種方法代碼示例

    這篇文章主要給大家介紹了關(guān)于利用java判斷質(zhì)數(shù)的3種方法,在大于1的整數(shù)中,如果只包含1和本身這兩個約數(shù),就被稱為質(zhì)數(shù)(素數(shù)),文中給出了詳細的代碼示例,需要的朋友可以參考下
    2023-07-07
  • 自定義log4j日志文件命名規(guī)則說明

    自定義log4j日志文件命名規(guī)則說明

    這篇文章主要介紹了自定義log4j日志文件命名規(guī)則說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 淺談Java中的n種隨機數(shù)產(chǎn)生辦法

    淺談Java中的n種隨機數(shù)產(chǎn)生辦法

    眾所周知,隨機數(shù)是任何一種編程語言最基本的特征之一。而生成隨機數(shù)的基本方式也是相同的:產(chǎn)生一個0到1之間的隨機數(shù)??此坪唵?,但有時我們也會忽略了一些有趣的功能。
    2015-09-09
  • SpringBoot集成Druid監(jiān)控頁面最小化配置操作

    SpringBoot集成Druid監(jiān)控頁面最小化配置操作

    這篇文章主要介紹了SpringBoot集成Druid監(jiān)控頁面最小化配置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java枚舉類型在switch語句正確使用方法詳解

    Java枚舉類型在switch語句正確使用方法詳解

    這篇文章主要介紹了Java枚舉類型在switch語句正確使用方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • JAVA實現(xiàn)Date日期加一天具體方法

    JAVA實現(xiàn)Date日期加一天具體方法

    這篇文章主要給大家介紹了關(guān)于JAVA實現(xiàn)Date日期加一天的相關(guān)資料,因為在項目中遇到了需要將日期進行加減一些天數(shù)的操作,文中給出了簡單的代碼示例,需要的朋友可以參考下
    2023-07-07
  • Java冒泡排序的定義與實例代碼

    Java冒泡排序的定義與實例代碼

    這篇文章主要給大家介紹了關(guān)于Java冒泡排序的定義與實例的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • 淺談Spring Boot: 接口壓測及簡要優(yōu)化策略

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

    這篇文章主要介紹了淺談Spring Boot: 接口壓測及簡要優(yōu)化策略,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java組件commons fileupload實現(xiàn)文件上傳功能

    Java組件commons fileupload實現(xiàn)文件上傳功能

    這篇文章主要為大家詳細介紹了Java組件commons fileupload實現(xiàn)文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評論