Spring Cloud GateWay学习(1)--入门

一、前言

1. 版本信息

  • Spring Cloud Gateway–3.1.0

2. 学习参考资料

二、Spring Cloud Gateway

1. 思考为什么要使用网关

  1. 可在网关实现一些统一的逻辑,不用每个服务都实现一套。(如权限校验)
  2. 使用网关后,对外暴露的永远是一个域名,不管内部的微服务怎么重新拆分,域名都不会变
  3. 便于Api的统一管理。如限流、监控等

2. Spring Cloud Gateway概述

2.1 简述

  • Spring Cloud Gateway 是Spring Cloud生态的第二代网关。(Zuul是第一代)
  • Spring Cloud Gateway 建立在Spring Boot 2.x、Spring WebFlux和Project Reactor之上
  • Spring Cloud Gateway 需要 Spring Boot 和 Spring Webflux 提供的 Netty 环境
  • Spring Cloud Gateway 不适用于传统的 Servlet 容器(如Tomcat),不能构建成WAR包,只能Jar包
  • Spring Cloud Gateway 不支持Sring Boot 1.x

备注:

2.2 架构图

在这里插入图片描述

官网描述:

客户端向 Spring Cloud Gateway 发出请求。如果网关处理程序映射确定请求与路由匹配,则将其发送到网关 Web 处理程序。此处理程序通过特定于请求的过滤器链运行请求。过滤器用虚线划分的原因是过滤器可以在发送代理请求之前和之后运行逻辑。执行所有“预”过滤器逻辑。然后发出代理请求。发出代理请求后,将运行“发布(后置)”过滤器逻辑。

源码

  • Gateway Handler Mapping :
    org.springframework.cloud.gateway.handler.RoutePredicateHandlerMapping

  • Gateway Web Handler :
    org.springframework.cloud.gateway.handler.FilteringWebHandler

2.3 核心术语

  • Route(路由)

Spring Cloud Gateway的基础元素,可简单理解成一条转发的规则。包含:ID、目标URL、Predicate集合以及Filter集合。

  • Predicate(谓词)

java.util.function.Predicate (Java8谓词函数), Spring Cloud Gateway使用Predicate实现路由的匹配条件(如请求头和参数)。

  • Filter(过滤器)

通过过滤器,在发送下游请求之前或之后修改请求和响应。

备注:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值