中国纪检监察报理论版/青岛官网seo方法
简介
Spring Cloud Gateway是Spring公司基于Spring 5.0,Spring Boot 2.0 和 Project Reactor 等术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。它的目标是替代 Netflix Zuul,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控和限流。
优点:
- 性能强劲:是第一代网关Zuul的1.6倍
- 功能强大:内置了很多实用的功能,例如转发、监控、限流等
- 设计优雅,容易扩展
缺点:
- 其实现依赖Netty与WebFlux,不是传统的Servlet编程模型,学习成本高
- 不能将其部署在Tomcat、Jetty等Servlet容器里,只能打成jar包执行 web.Jar
- 需要Spring Boot 2.0及以上的版本,才支持
使用方法
1.加入依赖
<!--加入gateway的依赖-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
2.创建启动类
3.修改配置文件
server:port: 7000
spring:application:name: api-gateway# 配置apicloud:gateway:routes:- id: product_route # 路由的唯一标识,只要不重复都可以,如果不写默认会通过UUID产生,一般写成被路由的服务名称uri: http://localhost:8081/ # 被路由的地址order: 1 #表示优先级 数字越小优先级越高predicates: #断言: 执行路由的判断条件- Path= /product_serv/**filters: # 过滤器: 可以在请求前或请求后作一些手脚- StripPrefix=1
4.启动项目, 并通过网关去访问微服务
增强版
1.加入nacos依赖
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
</dependency>
2.在主启动类上加入服务发现的注解
@SpringBootApplication
@EnableDiscoveryClient
public class ApiGatewayApplication {public static void main(String[] args) {SpringApplication.run(ApiGatewayApplication.class,args);}
}
3.修改配置文件
server:port: 7000
spring:application:name: api-gateway# 配置apicloud:gateway:routes:- id: product_route # 路由的唯一标识,只要不重复都可以,如果不写默认会通过UUID产生,一般写成被路由的服务名称uri: lb://shop-product # 被路由的地址order: 1 #表示优先级 数字越小优先级越高predicates: #断言: 执行路由的判断条件- Path=/product_serv/**filters: # 过滤器: 可以在请求前或请求后作一些手脚- StripPrefix=1nacos:discovery:server-addr: localhost:8848
简洁版
修改配置文件
server:port: 8000spring:cloud:gateway:discovery:locator:enabled: true #开启自动定位服务#注册网关到服务中心nacos:discovery:server-addr: localhost:8848application:name: my-gateway
2.启动项目在网页上打