spring cloud集成原生gateway

简介

 

Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。

Spring Cloud Gateway 作为 Spring Cloud 生态系统中的网关,目标是替代 Netflix Zuul,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控/指标,和限流。

一、开发前注意事项

spring boot版本使用2.0.3以上版本 ,2.0.3版本与gateway有冲突推荐使用spring boot最新版本,本次使用2.2.0集成

二、添加项目需要使用的依赖包

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

三、简单使用演示

1.在配置文件中配置路由路径

spring:
  application:
    name: demo-gateway
  jackson:
    serialization:
      indent-output: true
 cloud:
    nacos:
      discovery:
        server-addr: 114.55.60.132:8848
    gateway:
      enabled: true
      routes:
        - id: consume
          predicates:
            - Path=/consumer/**
          filters:
            - StripPrefix=1
          uri: lb://demo-consumer
        - id: provider
          predicates:
            - Path=/provider/**
          filters:
            - StripPrefix=1
          uri: lb://demo-provider

 

2.两个测试服务

 spring cloud集成原生gateway

两个服务中各有一个根据id查询用户信息的接口

spring cloud集成原生gateway

 

 

3.测试

在浏览器地址栏输入

spring cloud集成原生gateway

可以看出我们通过gateway路由到了不同的服务