当前位置: 首页 > news >正文

快速搭建gateway并接入nacos,并使用nacos配置文件

前言:

        本文使用springboot版本2.3.7,springCloud:Hoxton.SR9,springCloudAlibaba:2.2.6.RELEASE,使用时候需要注意版本搭配,否则可能出现奇怪问题

搭建步骤

1、使用idea搭建一个空白项目gateway
2、POM引入下面依赖
 <properties>
        <java.version>11</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.3.7.RELEASE</spring-boot.version>
        <spring-cloud.version>Hoxton.SR9</spring-cloud.version>
        <spring-cloud-alibaba.version>2.2.6.RELEASE</spring-cloud-alibaba.version>
    </properties>
    <dependencies>

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

        <!--gateway网关-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>

        <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</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <!--nacos服务器注册发现-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!--nacos配置中心-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided</scope>
        </dependency>
        
    </dependencies>
    <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>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.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>
3、启动本地nacos

        ncaos可以是windows本地的或者linux的都可以,我这里使用本地nacos,启动后访问loalhost:8848 目前是没有服务的

4、添加启动类注解和nacos注册以及配置信息

        gateway启动类添加 @EnableDiscoveryClient 注解,亲测不添加也可以

        配置nacos注册中心地址,application.yml添加如下内容:

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

     配置nacos配置中心,在bootstrap.yml中添加如下内容,如果没有这个文件也可以直接在上面application.yml中添加。

spring:
  application:
    name: gateway
  cloud:
    nacos:
      discovery:
        enabled: true
        service: ${spring.application.name}
      config:
        enabled: true
        encode: UTF-8
        file-extension: yml
 5、在nacos中配置gateway的内容,方便实时更新,内容如下:
spring:
  cloud:
    gateway:
      routes:
        - id: baidu
          uri: https://www.baidu.com
          predicates:
            - Path=/
        - id: user-service-login
          uri: lb://user-service
          predicates:
            - Path=/user-service/user/login
          filters:
            - StripPrefix=1
#            - PrefixPath=/
        - id: user-service-info
          uri: lb://user-service
          predicates:
            - Path=/user-service/user/info
          filters:
            - StripPrefix=1
            - Auth
6、启动相关,观察nacos服务列表是否有gateway注册成功

出现如上图说明启动注册成功,可以访问网关配置观察路由配置是否成功

相关文章:

  • 用于解决个人使用的公网ip动态变化问题的解决方案
  • leetcode111 二叉树的最小深度
  • 解决报错:node:internal/errors:496 ErrorCaptureStackTrace(err);
  • Python中将脚本打包成独立的 ​EXE
  • 生成式人工智能认证的理性思考:人工智能(AI)将深度改造行业?
  • 【网络安全】安全的网络设计
  • 蓝桥云客--团队赛
  • kotlin函数类型
  • Higress项目解析(一):Higress核心组件和原理、Wasm插件实现原理
  • 力扣热题100刷题day61|234.回文链表(两种方法)
  • 用Grok 3分析案例并提供一些助理或助手的整理工作
  • 宏碁笔记本电脑擎7PRO搭载的 NVIDIA RTX 5080 显卡安装pytorch
  • Talib库安装教程
  • 通过AOP切面,切点,反射填充公共字段
  • 神经网络与深度学习:案例与实践——第三章(3)
  • GRBL运动控制算法(二)圆弧插补
  • Flinksql--订单宽表
  • 【LLM系列】1.大模型简介
  • [实战] linux驱动框架与驱动开发实战
  • 物理数据流图