专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

SpringCloud教程(十) gateway 服务网关

0、前言

  gateway是spring的二代网关, 作为Netflix Zuul的替代者,是异步非阻塞网关 ,ZUUL2也是异步非阻塞的,但未纳入spring cloud整合计划

  基于WebFlux ,与spring-boot-starter-web冲突,要排除该依赖;ZUUL1是阻塞io的API Gateway,使用简单方便;

  性能上,自然是异步非阻塞的gateway胜出;

  如何取舍,见仁见智了,不要盲目认为gateway比ZUUL1好,适合项目才是最好的;

  实际项目中建议选择gateway;

1、集成gateway

1-1、添加依赖

  新建gateway模块,添加依赖,注意要排除spring-boot-starter-web依赖,不能添加该依赖

        <!-- 集成nacos -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>

        <!-- 集成gateway -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>

1-2、添加配置

uri: lb://注册中心的微服务名称

Path=/api/user/** 相当于该微服务前缀

StripPrefix=2 表示跳过前缀节数,上面前缀/api/user/是两节,说以是2,如果/api/则跳过1节

以上几个常用属性是通俗的解释,具体各个属性及其详细用法请参考官方文档

server:
  port: 8770
spring:
  application:
    name: gateway
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

    gateway:
      discovery:
        locator:
          enabled: false
          #开启小写验证,默认feign根据服务名查找都是用的全大写
          lowerCaseServiceId: true
      routes:
        - id: nacos-user
          uri: lb://nacos-user
          predicates:
            - Path=/api/user/**
          filters:
            - StripPrefix=2
        - id: nacos-order
          uri: lb://nacos-order
          predicates:
            - Path=/api/order/**
          filters:
            - StripPrefix=2

1-3、运行测试

  以上即可,运行项目,可以看到路由已经正常转发了

111_1.png

gateway简单的路由转发功能就这样完成了,其他的诸多路由过滤、匹配、限流等功能以后再探讨

文章永久链接:https://tech.souyunku.com/31805

未经允许不得转载:搜云库技术团队 » SpringCloud教程(十) gateway 服务网关

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们