Files
SOP/doc/docs/files/10096_使用SpringCloudGateway.md
tanghc 0cafb5829b 2.0
2019-09-02 16:48:14 +08:00

2.6 KiB
Raw Blame History

使用SpringCloudGateway

SOP默认网关是使用Spring Cloud Zuul您也可以切换成Spring Cloud Gateway完整代码见spring-cloud-gateway分支。

如果您的系统并发量不大建议使用zuul因为zuul的功能更全面有新功能会优先实现在zuul上。

  • SOP中 Spring Cloud Zuul 和 Spring Cloud Gateway功能对比
功能 Spring Cloud Zuul Spring Cloud Gateway
签名验证
统一异常处理
统一返回内容
session管理
秘钥管理
微服务端自动验证JSR-303
文件上传
文件下载 x
接口限流
文档整合
应用授权
监控日志
支持nacos
网关动态修改参数

使用Spring Cloud Gateway步骤如下

  • 打开sop-gateway/pom.xml注释spring cloud zuul依赖打开Spring Cloud Gateway依赖
<!-- ↓↓↓ 使用spring cloud zuul ↓↓↓
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
-->
<!-- ↑↑↑ 使用spring cloud zuul ↑↑↑ -->


<!-- ↓↓↓ 使用spring cloud gateway处于beta阶段推荐使用zuul ↓↓↓ -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

<!-- ↑↑↑ 使用spring cloud gateway ↑↑↑ -->
  • 打开启动类SopGatewayApplication.java, 注释zuul相关注解
package com.gitee.sop.gateway;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

// 开启网关功能
//@EnableZuulProxy
@SpringBootApplication
public class SopGatewayApplication {

    public static void main(String[] args) {
        SpringApplication.run(SopGatewayApplication.class, args);
    }

}
  • 禁用ZuulConfig类注释掉@Configuration注解即可
//@Configuration
public class ZuulConfig extends AlipayZuulConfiguration {...}
  • 启用GatewayConfig类打开@Configuration注释
@Configuration
public class GatewayConfig extends AlipayGatewayConfiguration {...}

修改完毕重启sop-gateway