国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Cloud Gateway集成Nacos實(shí)現(xiàn)負(fù)載均衡

這篇具有很好參考價(jià)值的文章主要介紹了Spring Cloud Gateway集成Nacos實(shí)現(xiàn)負(fù)載均衡。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

??Nacas可以用于實(shí)現(xiàn)Spring Cloud Gateway中網(wǎng)關(guān)動(dòng)態(tài)路由功能,也可以基于Nacos來實(shí)現(xiàn)對后端服務(wù)的負(fù)載均衡,前者利用Nacos配置中心功能,后者利用Nacos服務(wù)注冊功能。

接下來我們來看下Gateway集成Nacos實(shí)現(xiàn)負(fù)載均衡的架構(gòu)圖

Spring Cloud Gateway集成Nacos實(shí)現(xiàn)負(fù)載均衡

一. 環(huán)境準(zhǔn)備

1. 版本環(huán)境
  • Jdk: <java.version>1.8</java.version>

  • SpringBoot: <version>2.4.2</version>

  • SpringCloud: <spring.cloud.version>2020.0.1</spring.cloud.version>

  • SpringCloudAlibaba: <spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>

2. 服務(wù)環(huán)境
  • spring-cloud-user-center : 獨(dú)立用戶服務(wù)(2個(gè))

  • spring-cloud-gateway: 獨(dú)立的網(wǎng)關(guān)服務(wù)

二. 實(shí)戰(zhàn)

  1. 創(chuàng)建用戶服務(wù)

為了演示請求負(fù)載,將spring-cloud-user-center部署兩份分別開放8005和8006端口

  1. 引入相關(guān)依賴

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
  1. yml配置

server:
  port: 8085

spring:
  application:
    name: spring-cloud-user-center
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        ip: 127.0.0.1
management:
  endpoints:
    web:
      exposure:
        include: "*"
  1. 編寫測試類

測試類1

/**
 * @author gf
 * @date 2023/2/14
 */
@Slf4j
@RestController
public class UserController {
    @RequestMapping("/user")
    public String user(){
        log.info("hello Mr gateway,this is user server");
        return "hello Mr gateway,this is user server";
    }
}

重復(fù)以上1,2步驟重新創(chuàng)建一個(gè)服務(wù),記得將配置文件中的端口號區(qū)分一下,然后

spring.application.name不變,依舊是spring-cloud-user-center。

測試類2

我們這里為了演示方便只是將之前的訂單服務(wù)改造了一下,可以參考以下鏈接

SpringBoot整合Gateway+Nacos

@Slf4j
@RestController
public class OrderController {


    @RequestMapping("/user")
    public String getOrder(){
        log.info("hello Mr gateway,this is order server");
        return "hello Mr gateway,this is order server";
    }
}
  1. 啟動(dòng)類

由于我們要將服務(wù)注冊倒注冊中心,所以我們在以內(nèi)nacos依賴后要在啟動(dòng)類上添加@EnableDiscoveryClient注解

@EnableDiscoveryClient
@SpringBootApplication
public class SpringCloudUserCenterApplication {

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

}
2.創(chuàng)建網(wǎng)關(guān)服務(wù)
  1. 引入相關(guān)依賴

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.scg</groupId>
    <artifactId>spring-cloud-nacos</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>spring-cloud-gateway</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
        <spring.cloud.version>2020.0.1</spring.cloud.version>
        <spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <!--得不加上這個(gè)配置,不然會(huì)報(bào)503-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
  1. 配置yml文件


server:
  port: 8082
spring:
  application:
    name: gateway_server
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    gateway:
      discovery:
        locator:
          #開啟從注冊中心動(dòng)態(tài)創(chuàng)建路由的功能,利用微服務(wù)名進(jìn)行路由
          enabled: true
          #開啟小寫驗(yàn)證,默認(rèn)feign根據(jù)服務(wù)名查找都是用的全大寫
          lowerCaseServiceId: true
      routes:
        - id: spring-cloud-user-center
          uri: lb://spring-cloud-user-center
          # 斷言,路徑相匹配的進(jìn)行路由
          predicates:
            - Path=/user-center/**
          filters:
            - StripPrefix=1
management:
  endpoints:
    web:
      exposure:
        include: "*"
  1. 測試

nacos可視化界面請參考:SpringCloud Alibaba 之 Nacos注冊中心實(shí)戰(zhàn)

同時(shí)啟動(dòng)三臺服務(wù),我們可以看到這三者服役已經(jīng)注冊到了nacos注冊中心中

Spring Cloud Gateway集成Nacos實(shí)現(xiàn)負(fù)載均衡

按照我們的配置,訪問http://localhost:8082/user-center/user,查看接口訪問情況

Spring Cloud Gateway集成Nacos實(shí)現(xiàn)負(fù)載均衡
Spring Cloud Gateway集成Nacos實(shí)現(xiàn)負(fù)載均衡

可以看到,調(diào)用了兩次,兩次請求的服務(wù)不同文章來源地址http://www.zghlxwxcb.cn/news/detail-494772.html

到了這里,關(guān)于Spring Cloud Gateway集成Nacos實(shí)現(xiàn)負(fù)載均衡的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Cloud Alibaba-02-Nacos Discovery服務(wù)治理及負(fù)載均衡

    Spring Cloud Alibaba-02-Nacos Discovery服務(wù)治理及負(fù)載均衡

    Lison dreamlison@163.com , v1.0.0 , 2023.05.10 先來思考一個(gè)問題 通過上一章的操作,我們已經(jīng)可以實(shí)現(xiàn)微服務(wù)之間的調(diào)用。但是我們把服務(wù)提供者的網(wǎng)絡(luò)地址 (ip,端口)等硬編碼到了代碼中,這種做法存在許多問題: 一旦服務(wù)提供者地址變化,就需要手工修改代碼 一旦是多個(gè)服務(wù)提供

    2024年02月22日
    瀏覽(92)
  • Spring Cloud Gateway集成Nacos作為注冊中心和配置中心

    本篇文章將介紹Spring Cloud Alibaba體系下Spring Cloud Gateway的搭建,服務(wù)注冊中心和分布式配置中心使用Nacos,后續(xù)將會(huì)持續(xù)更新,介紹集成Sentinel,如何做日志鏈路追蹤,如何做全鏈路灰度發(fā)布設(shè)計(jì),以及Spring Cloud Gateway的擴(kuò)展等。 ? Spring Boot,Spring Cloud,Discovery,Config等基礎(chǔ)依

    2024年02月11日
    瀏覽(507)
  • 云原生微服務(wù) 第五章 Spring Cloud Netflix Eureka集成負(fù)載均衡組件Ribbon

    云原生微服務(wù) 第五章 Spring Cloud Netflix Eureka集成負(fù)載均衡組件Ribbon

    第一章 Java線程池技術(shù)應(yīng)用 第二章 CountDownLatch和Semaphone的應(yīng)用 第三章 Spring Cloud 簡介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon Spring Cloud Ribbon 是一套基于 Netflix Ribbon 實(shí)現(xiàn)的客戶端負(fù)載均衡和服務(wù)調(diào)用工具,其主要功能是提供客戶端的負(fù)載均衡算法和服務(wù)

    2024年02月08日
    瀏覽(87)
  • 【Spring Cloud】深入探索 Nacos 注冊中心的原理,服務(wù)的注冊與發(fā)現(xiàn),服務(wù)分層模型,負(fù)載均衡策略,微服務(wù)的權(quán)重設(shè)置,環(huán)境隔離

    【Spring Cloud】深入探索 Nacos 注冊中心的原理,服務(wù)的注冊與發(fā)現(xiàn),服務(wù)分層模型,負(fù)載均衡策略,微服務(wù)的權(quán)重設(shè)置,環(huán)境隔離

    在微服務(wù)架構(gòu)中,服務(wù)注冊中心是整個(gè)體系中的關(guān)鍵組件之一。它負(fù)責(zé)服務(wù)的注冊、發(fā)現(xiàn)和管理,為微服務(wù)之間的通信提供了基礎(chǔ)設(shè)施。在這方面,Nacos(Namespace Aware Clustered Object Storage)作為一種服務(wù)發(fā)現(xiàn)和配置管理系統(tǒng),提供了豐富的功能,旨在簡化微服務(wù)架構(gòu)中的服務(wù)注

    2024年02月06日
    瀏覽(1451)
  • Spring Cloud Gateway + Nacos 實(shí)現(xiàn)服務(wù)上下線無縫切換

    Spring Cloud Gateway + Nacos 實(shí)現(xiàn)服務(wù)上下線無縫切換

    大家好,我是不才陳某~ 最近知識星球的球友在學(xué)習(xí)星球中的《精盡Spring Cloud Alibaba》專欄提到一個(gè)問題,相信也有很多人在線上環(huán)境遇到過,或許也因此被批過:一個(gè)集群中有某個(gè)服務(wù)突然下線,但是網(wǎng)關(guān)還是會(huì)去請求這個(gè)實(shí)例,所以線上就報(bào)錯(cuò)了,報(bào)錯(cuò)信息如下圖: 究其

    2024年02月15日
    瀏覽(15)
  • springcloud3 GateWay章節(jié)-Nacos+gateway動(dòng)態(tài)路由負(fù)載均衡4

    springcloud3 GateWay章節(jié)-Nacos+gateway動(dòng)態(tài)路由負(fù)載均衡4

    1.pom文件 2.啟動(dòng)類 3.配置文件 1.啟動(dòng)nacos,sleuth 2.啟動(dòng)gatewayapi,mscloud-nacos-provider7001,mscloud-nacos-provider7002 如圖: 3.訪問 多次刷新:7001和7002 不停的切換

    2024年02月11日
    瀏覽(17)
  • 【Spring Cloud】Ribbon 實(shí)現(xiàn)負(fù)載均衡的原理,策略以及饑餓加載

    【Spring Cloud】Ribbon 實(shí)現(xiàn)負(fù)載均衡的原理,策略以及饑餓加載

    在前文《深入理解 Eureka 注冊中心的原理、服務(wù)的注冊與發(fā)現(xiàn)》中,介紹了如何使用 Eureka 實(shí)現(xiàn)服務(wù)的注冊與拉取,并且通過添加 @LoadBalanced 注解實(shí)現(xiàn)了負(fù)載均衡。這種自動(dòng)化的背后隱藏著許多疑問: 服務(wù)是在何時(shí)進(jìn)行拉取的? 負(fù)載均衡是如何實(shí)現(xiàn)的? 負(fù)載均衡的原理和策略

    2024年02月07日
    瀏覽(20)
  • SpringCloud Nacos Gateway 負(fù)載均衡 Netty的Websocket

    SpringCloud Nacos Gateway 負(fù)載均衡 Netty的Websocket

    目錄 一、Gateway的WS協(xié)議配置 二、問題引出 三、解決方法 一、Gateway的WS協(xié)議配置 ws: 代表通過websocket長連接協(xié)議,其他是gateway的常規(guī)配置。 二、問題引出 我已搭建了傳統(tǒng)的Netty聊天室服務(wù),即一個(gè)SpringBoot項(xiàng)目中同時(shí)存在web項(xiàng)目與Netty服務(wù)器,配置如下:服務(wù)器實(shí)際上會(huì)使用

    2024年02月11日
    瀏覽(26)
  • Spring Cloud集成Nacos實(shí)現(xiàn)本地配置優(yōu)先 | Spring Cloud 9

    Nacos Config Starter 實(shí)現(xiàn)了 org.springframework.cloud.bootstrap.config.PropertySourceLocator 接口,并將優(yōu)先級設(shè)置為最高。 在 Spring Cloud 應(yīng)用啟動(dòng)階段,會(huì)主動(dòng)從 Nacos Server 端獲取對應(yīng)的數(shù)據(jù),并將獲取到的數(shù)據(jù)轉(zhuǎn)換成 PropertySource 且注入到 Environment 的 PropertySources 屬性中,所以使用 @Value 注解

    2024年02月15日
    瀏覽(27)
  • Spring Cloud集成Nacos實(shí)現(xiàn)服務(wù)配置中心 | Spring Cloud 7

    先我們來看一下,微服務(wù)架構(gòu)下關(guān)于配置文件的一些問題: 配置文件相對分散。在一個(gè)微服務(wù)架構(gòu)下,配置文件會(huì)隨著微服務(wù)的增多變的越來越多,而且分散在各個(gè)微服務(wù)中,不好統(tǒng)一配置和管理。 配置文件無法區(qū)分環(huán)境,開發(fā)環(huán)境、測試環(huán)境、線上環(huán)境。微服務(wù)項(xiàng)目可能會(huì)

    2024年02月14日
    瀏覽(88)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包