Gateway网关-网关作用介绍

发布时间 2024-01-04 19:27:42作者: monkey大佬

 

网关的技术实现

  在SpringCloud中网关的实现包括两种:

    gateway

    zuul

zuul是基于Servlet的实现,属于阻塞式编程,而SpringCloudGateway则是基于Spring5中提供的WebFlux,属于应式编程的实现,具备更好的性能  

 

网关作用:

  对用户请求做身份认证,权限校验

  将用户请求路由搭配微服务,并实现负载均衡

  对用户请求做限流

 

 

搭建网关服务:

  1.创建信的module,引入SpringCloudGateway的依赖和nacos的服务发现依赖:

    <dependencies>
        <!-- nacos服务注册依赖 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!-- 网关依赖gateway依赖 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
    </dependencies>

  2.编写路由配置nacos地址

server:
    port: 10010
spring:
  application:
    name: gateway
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos地址
    gateway:
      routes:
        - id: user-server #路由表示 必须唯一
          uri: lb://userserver # 路径的目标地址
          predicates: # 路由断言,判断请求是否符合规则
            - Path=/user/** #路由断言。判断路由是否是以/user开头,如果是则复合规则
        - id: order-server
          uri: lb://orderserver
          predicates:
            - Path=/order/**

 

搭建网关服务