Spring Cloud Gateway快速开始

 

 

第一步:POM文件引入

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>vnacos</artifactId>
        <groupId>com.nacos</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>geteway</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>

        <!--gateway的依赖 springcloud开发-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
      注意:会和spring-webmvc的依赖冲突,需要排除spring-webmvc
    </dependencies>

</project>

第二步:配置文件

server:
  port: 8088
spring:
  application:
    name: api-gateway
  cloud:
    gateway:   # gateway的配置
      routes:  #路由规则
        - id: order_route  # 路由的唯一标识,路由到order
          uri: http://localhost:80    #需要转发的地址  
          predicates:  #断言规则 用于路由规则的匹配
            - Path=/order-serv/**    # http://localhost:8088/order-serv/vn/order 路由转到  http://localhost:80/order-serv/vn/order
          filters:
            - StripPrefix=1 # 转发之前去掉1层路径  变成 -> http://localhost:80/vn/order

 

以上最简单的网关配置完成

 

 Nacos整合Gateway:

POM文件:

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>vnacos</artifactId>
        <groupId>com.nacos</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>geteway</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>

        <!--gateway的依赖 springcloud开发-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>

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

    </dependencies>

</project>

配置文件:

server:
  port: 8088
spring:
  application:
    name: api-gateway
  cloud:
    gateway:   # gateway的配置
      routes:  #路由规则
        - id: order_route  # 路由的唯一标识,路由到order
          uri: lb://order-service  #需要转发的地址   lb: 使用nacos中的本地负载均衡策略  order-service服务名
          predicates:  #断言规则 用于路由规则的匹配
            - Path=/order-serv/**    # http://localhost:8088/order-serv/vn/order 路由转到  http://localhost:80/order-serv/vn/order
          filters:
            - StripPrefix=1 # 转发之前去掉1层路径  变成 -> http://localhost:80/vn/order
    nacos:
      server-addr: 192.168.43.197:8848
      discovery:
        username: nacos
        password: nacos

  Nacos整合Gateway简单模式:

配置文件:

server:
  port: 8088
spring:
  application:
    name: api-gateway
  cloud:
    nacos:
      server-addr: 192.168.43.197:8848
      discovery:
        username: nacos
        password: nacos
    gateway:
      discovery:
        locator:
          enabled: true

 

posted @ 2022-03-09 22:26  VNone  阅读(54)  评论(0)    收藏  举报