Gateway的使用
要将Spring Cloud Gateway包含在您的项目中,添加spring-cloud-starter-gateway的依赖即可,如果包括启动器,但不希望启用网关,可以设置:
spring.cloud.gateway.enabled = false
注:不要添加spring-boot-start-web模块的jar依赖,否则会报错;
具体步骤(创建一个新的springboot项目,此项目对所以的项目进行管理):
第一步:添加gateway网关依赖;
<!--spring-cloud-starter-gateway 网关-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
第二步:配置application.yml文件;(涉及到东西比较多,谓词等,需要请看后边博客)
第三步:启动运行程序,通过网关转发到具体的服务;
Gateway的核心概念
- 路由:
网关的基本构建组成,它由ID,目标URI,谓词集合和过滤器集合定义,如果集合谓词为true,则匹配路由,否则不匹配;
- 谓词:
这是Java 8函数谓词,输入类型是Spring Framework ServerWebExchange,可以匹配HTTP请求中的所有内容,例如请求头或参数;
- 过滤器:
这些是使用特定工厂构造的Spring Framework GatewayFilter实例,可以在发送给下游请求之前或之后修改请求和响应;