2020-07-10 12:44:57
Spring Cloud Gateway概述
Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,旨在取代Zuul网关,为微服务系统提供更加高效、灵活的流哪袜量管理解决方案。
网关的功能
网关在微服务系统中扮演着至关重要的角色,它通常具备以下关键功能:
Spring Cloud Gateway的关键组山缓链件
Spring Cloud Gateway通过一系列关键组件来实现上述功能,这些组件包括:
GatewayFilter:局部过滤器,需要通过配置文件配置在具体路由下,只作用在当前路由上。
GlobalFilter:全局过滤器,不需要在配置文件中配置,作用在所有的路由上,是系统初始化时加载的核心过滤器。
自定义过滤器与限流
Spring Cloud Gateway的工作流程
当外部请求到达Spring Cloud Gateway时,它会首先经过一系列的预处理过滤器(如权限校验、日志记录等),然后根据Predicate的匹配条件将请求转发到相应的路由上。在路由转发过程中,可能会经过一些路由过滤器(如限流控制、协议转换等)对请求进行进一步的处理。最后,请求被转发到目标微服务实例上,并经过一系列的响应过滤器(如响应头修改、日志记录等)后返回给客户端。
概览图

关键类图

GatewayFilter与GlobalFilter
GatewayFilter:

GlobalFilter:

限流算法

综上所述,Spring Cloud Gateway是一个功能强大、灵活易用的网关框架,它能够为微服务系统提供高效的流量管理和路由转发功能。通过合理配置和使用其关键组件和过滤器,开发人员可以轻松逗孙地构建出满足各种业务需求的高性能网关系统。