Spring Cloud Gateway核心概念和工作原理-Part 1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Cloud Gateway核心概念和工作原理-Part 1相关的知识,希望对你有一定的参考价值。

参考技术A Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代Netflix ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。

使用过Zuul的人,都知道网关的核心肯定是Filter以及Filter Chain(Filter 责任链)。Spring Cloud Gateway也具有路由和Filter的概念。下面介绍一下Spring Cloud Gateway中的几个重要概念。

Spring Cloud Gateway 核心处理流程如下所示。

Gateway的客户端向Spring Cloud Gateway发起请求,请求首先会被 Gateway Handler Mapping 接收,决定请求匹配的路由,然后发送给Gateway Web Handler。Handler 通过特定的请求filter链发送请求。

过滤链通过虚线分隔的原因是过滤器filter可以在代理请求发送之前或者之后执行逻辑。执行所有 pre 过滤逻辑,然后发出请求给代理服务(proxied service),之后将执行 post 过滤器逻辑。

将如下依赖项添加到Spring Cloud项目的pom.xml文件中。

Spring Cloud Gateway提供了一个gateway actuator,该EndPoint 提供了关于Filter和Routes的信息查询。可以在application.yml 中配置开启。

访问gateway 端点:

可以看到返回的路由信息:

新的gateway网关路由配置有两种方式:

1.通过@Bean自定义RouteLocator,在启动主类Application中配置。

2.在配置文件yml中配置。

这两种方式都可以实现网关路由是等价的,但是通常项目开发中会使用配置文件yml方式。

相关链接:

https://cloud.spring.io/spring-cloud-gateway/spring-cloud-gateway.html

以上是关于Spring Cloud Gateway核心概念和工作原理-Part 1的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud Alibaba - 24 Gateway-路由断言(Predicate)过滤器(Filter)初体验

Spring Cloud微服务网关Gateway组件

Spring Cloud Gateway 服务网关详解

Spring Cloud Alibaba全家桶——微服务网关Gateway组件

java学习---spring-cloud-gateway网关配置

007-spring cloud gateway-GatewayAutoConfiguration核心配置-RouteDefinition初始化加载