SpringCloud Gateway网关基础知识
SpringCloud Gateway简介
Spring Cloud Gateway是由spring官方基于Spring5.0、Spring Boot2.x、Project Reactor 等技术开发的 网关,目的是代替原先版本中的Spring Cloud Netfilx Zuul。
这是我在2019年做的一个SpringCloud的课件,主要目的是培训团队成员。
Spring Cloud Gateway 工作流程:
Gateway网关特性
- 统一入口
- 所有请求通过网关路由到内部其他服务。
- 断言(Predicates)和过滤器(filters)特定路由。
- 断言是根据具体的请求的规则由route去处理;
- 过滤器用来对请求做各种判断和修改。
- Hystrix 熔断机制。
- Hystrix是 spring cloud gateway中是以filter的形式使用的。
- 请求限流
- 防止大规模请求对业务数据造成破坏。
- 路径重写
- 自定义路由转发规则。
断言(Predicates)
官方参考地址https://cloud.spring.io/spring-cloud-gateway/reference/html/#_after_route_predicate_factory
过滤器(Filter)
路由过滤器允许以某种方式修改传入的HTTP请求或传出的HTTP响应。路径过滤器的范围限定为特定路径。Spring Cloud Gateway包含许多内置的GatewayFilter工厂。
GlobalFilter 全局过滤器
CORS跨域处理
例子:对于所有GET请求的路径,将允许来自docs.spring.io的请求的CORS请求。
Gateway API
支持通过接口动态调整网关策略。
/actuator/gateway/refresh
POST
刷新路由缓存
/actuator/gateway/routes
GET
查询路由
/actuator/gateway/globalfilters
GET
查询全局过滤器
/actuator/gateway/routefilters
GET
查询过滤器
/actuator/gateway/routes/{id}
GET、POST、DELETE
查询指定路由信息
结束语
最近面试有家公司给我的面试结果是“您只是了解微服务,并没有实际使用过微服务。”这句话无疑是对我在19年付出的努力最大的打击。我不得不拿出点关于SpringCloud或Dubbo的文章来证实面试官对我的直觉是错误的。
有句感言,不知当不当讲,算了就不讲了。