SpringCloud Gateway网关基础知识

SpringCloud Gateway简介

Spring Cloud Gateway是由spring官方基于Spring5.0、Spring Boot2.x、Project Reactor 等技术开发的 网关,目的是代替原先版本中的Spring Cloud Netfilx Zuul。

这是我在2019年做的一个SpringCloud的课件,主要目的是培训团队成员。

image

Spring Cloud Gateway 工作流程:

image

Gateway网关特性

  • 统一入口
    • 所有请求通过网关路由到内部其他服务。
  • 断言(Predicates)和过滤器(filters)特定路由。
    • 断言是根据具体的请求的规则由route去处理;
    • 过滤器用来对请求做各种判断和修改。
  • Hystrix 熔断机制。
    • Hystrix是 spring cloud gateway中是以filter的形式使用的。
  • 请求限流
    • 防止大规模请求对业务数据造成破坏。
  • 路径重写
    • 自定义路由转发规则。

断言(Predicates)

image

image

image

官方参考地址https://cloud.spring.io/spring-cloud-gateway/reference/html/#_after_route_predicate_factory

过滤器(Filter)

路由过滤器允许以某种方式修改传入的HTTP请求或传出的HTTP响应。路径过滤器的范围限定为特定路径。Spring Cloud Gateway包含许多内置的GatewayFilter工厂。

GlobalFilter 全局过滤器

image

CORS跨域处理

例子:对于所有GET请求的路径,将允许来自docs.spring.io的请求的CORS请求。

image

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
查询指定路由信息

image

结束语

最近面试有家公司给我的面试结果是“您只是了解微服务,并没有实际使用过微服务。”这句话无疑是对我在19年付出的努力最大的打击。我不得不拿出点关于SpringCloud或Dubbo的文章来证实面试官对我的直觉是错误的。

有句感言,不知当不当讲,算了就不讲了。

来源: 雨林博客(www.yl-blog.com)