Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技術開發的網關,Spring Cloud Gateway旨在為微服務架構提供一種簡單而有效的統一的API路由管理方式。Spring Cloud Gateway作為Spring Cloud生態系中的網關,目標是替代ZUUL,其不僅提供統一的路由方式,并且基于Filter鏈的方式提供了網關基本的功能,例如:安全,監控/埋點,和限流等。
-
gateway的使用導入依賴
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency>
注意:一定要排除掉 spring-boot-starter-web 依賴,否則啟動報錯,這個依賴里面集成了 spring-boot-starter-web 會導致依賴沖入。
2.編寫相關配置
server:port: 8888 # 統一端口方便前段人員調用 spring:application:name: mygateway-servergateway:globalcors:corsConfigurations: ?# 這里是解決跨域問題'[/**]': # 匹配所有請求allowedOrigins: "*" #跨域處理 允許所有的域allowedHeaders: "*" # 所有的請求頭allowedMethods: # 支持的方法- GET- POST- PUT- DELETE routes:- id: app-routes #唯一的標識 用戶自定義uri: lb://app-serverpredicates:- Path=/api/app/**,/api/tr/** #映射的web訪問地址filters:- RewritePath=/api/(?<segment>.*), /$\{segment} ?