Gateway简介及流程

217 阅读1分钟

一、简介

Spring Cloud GateWay是Spring 官方开发的API网关服务,在新一代网关服务中使用Sping WebFlux响应式非阻塞IO框架,相比较第一代网关组件zuul性能方面有了很大的提高。

1.1 核心功能

  • 统一流量入口,对前端更友好,减少系统入口降低客户端和服务端耦合度
  • 统一认证鉴权,避免多个服务各自维护认证鉴权功能,造成开发维护成本升高
  • 访问日志、限流、过滤、缓存、监控等公共服务也可以在网关层完成,避免分散造成的开发维护成本升高

image.png

二、Spring Cloud Gateway处理流程

  • 客户端向网关服务发送请求,如果网关服务确定请求路径与路由匹配则会将该请求发送到网关Web Handler处理,执行特定过滤器链,最后发送到目标服务。

image.png

三、核心概念

  • route(路由):路由是网关基本组成部分,由ID、目标URI、predicates和一系列的过滤器组成。当请求到达网关服务时,由Gateway Handler Mapping通过predicate判断是否与路由匹配,当predicate=true时匹配到路由。
  • predicate(谓词):是java8中提供的一个函数,允许开发人员根据其定义规则匹配请求。比如根据请求头、请求参数来匹配路由。可以认为它就是一个匹配条件的定义。
  • filter(过滤器):对请求处理前后做一些统一操作。比如:认证、审计、日志、访问时长统计等。

image.png