欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring cloud gateway 入门介绍

程序员文章站 2022-07-14 23:03:45
...

Spring Cloud Gateway是Spring Cloud大家族的一个新进成员,在Spring Cloud 2.0之后用于取代非官方的Zuul。Getaway基于Spring 5.0与Spring WebFlux开发,采用Reactor响应式设计。

spring cloud gateway 入门介绍

 

这是官方文档中提供的图,客户端发起请求到达Gateway,根据HandlerMapping到路由处理

 

术语
路由(Route):路由为一组断言与一组过滤器的集合,他是网关的一个基本组件。
断言(Predicate):匹配路由的判断条件,例如Path=/demo,匹配后应用路由。
过滤器(Filter):过滤器可以对请求和返回进行修改,比如增加头信息等。
地址(Uri):匹配路由后转发的地址。

 

网关搭建

步骤一:

添加依赖

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

如果由于某种原因,您不希望启用网关,请设置spring.cloud.gateway.enabled=false

 

步骤二:

设置配置文件

server:
  port: 9521
spring:
  application:
    name: service-gateway
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    gateway:
      routes:
        - id: nacos-consumer  # id可以随便设置,只要名称不重复即可
          uri: lb://nacos-consumer   # 需要转发的注册中心服务地址
          predicates:      # 断言
            - Path=/consumer/**   # 匹配路径

 

 

步骤三:

设置启动器

@SpringBootApplication
@EnableDiscoveryClient
public class GatewayApplication {
    public static void main(String[] args) {
        SpringApplication.run(GatewayApplication.class,args);
    }
}

 

到此简单的网关搭建完成.

注意: 

Spring Cloud Gateway需要Spring Boot和Spring Webflux提供的Netty运行时。它不能在传统的Servlet容器中或作为WAR构建。

相关标签: springcloud