网关,类似于所有接口前面的一堵墙,统一来处理用户发起的请求,比如火车站售票前台。
关键是统一,起到路由,安全性等等。
官网:https://spring.io/projects/spring-cloud-gateway
官方文档:https://docs.spring.io/spring-cloud-gateway/docs/current/reference//html/
实例代码:https://spring.io/projects/spring-cloud-gateway#samples

client:客户端发起请求
handler Mapping :根据断言,将请求转发到对应的路由
web handler:处理请求,一层层的经过过滤器:例如可以用于鉴权,限流等等
最后调用实际的服务



设置了日志就可以知道请求什么开始断言转发到哪里了。
logging:
level:
org:
springframework:
cloud:
gateway: trace

当前时间在这个时间之前,就会访问当前这个路由

当前时间在这个时间之间,就会访问当前这个路由


如果你的请求类别是这个post,get,就会访问当前这个路由

如果你的访问的地址是以这些/red/{segment},/blue/{segment}路径作为前缀,就会访问当前这个路由
spring:
cloud:
gateway:
routes:
- id: path_route
uri: https://example.org
predicates:
- Path=/red/{segment},/blue/{segment}
根据查询条件,比如?green,就会访问当前这个路由

根据远程地址,比如你的用户的ip地址是192.168.1.1/24,就会访问当前这个路由

根据你设置的权重,给你把同一个访问的地址,重定到不同的服务,轻松实现发布控制

从请求头中如果拿到XForwarded这个请求头的地址192.168.1.1/24,,就会访问当前这个路由 请求染色

如果你的请求头包含X-Request-Id这样一个请求头,并且,它的值符合正则表达式的规则,就会访问当前这个路由

如果你的访问的是这个.somehost.org,.anotherhost.org,域名,就会访问当前这个路由
基本功能:对请求头、请求参数、响应头的增删改查
1.添加清求头
2.添加请求参数
3.添加响应头
4.降级
5.限流
6.重试
降级:https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#spring-cloud-circuitbreaker-filter-factory
增加请求头

创建SpringBoot项目
gateway
lombok
server:
port: 8090
spring:
cloud:
gateway:
routes:
- id: path_route
uri: https://www.codefather.cn/
predicates:
- Path=/**
logging:
level:
org:
springframework:
cloud:
gateway: trace
地址访问 localhost:8090,就会跳转到 codefather.cn
我是小辉,24 届应届毕业生。当下是找工作ing,持续分享,包括不限于技术文章。全网同名…