Spring Cloud Alibaba(12)---Gatway概述、简单示例

本文介绍了Spring Cloud Gateway,它是基于Spring 5和Project Reactor构建的API网关,提供了高性能、可定制的路由及过滤器功能。文章对比了Gateway与Zuul的区别,强调了Gateway的非阻塞特性和高性能,并提供了简单的编码实现示例,包括配置路由、断言和过滤器,以及如何避免启动错误。最后,文章讨论了Gateway的工作流程和配置详解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Gatway概念

1.Gatway是什么?

Gatway是在Spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot2和Project Reactor等技术。Gateway旨在提供一种简单而有效的方式来对API进行路由,

以及提供一些强大的过滤器功能,例如:反向代理熔断限流重试等。

微服务架构中网关所处位置(盗图):

2、Gatway有哪些特性?

1)、为了提升网关的性能,Spring Cloud Gateway是基于WebFlux框架实现的,而WebFlux框架底层则使用了高性能的Reactor模式通信框架Netty。
2)、基于SpringFramework5,ProjectReactor和SpringBoot2.0进行构建
3)、能够匹配任何任何请求属性
4)、可以对路由指定Predicates和Filters,易于编写的Predicates和Filters
5)、集成断路器
6)、集成Spring Cloud服务发现
7)、支持请求限流
8)、支持路径重写

3、Gatway三大重要概念

Gatway有着很重要的3个概念 路由断言过滤

路由路由是构建网关的基本模块,它由ID,目标URI,一系列的断言Predicates和过滤器Filters组成,如果断言为true,则匹配该路由。

断言参考Java8的java.util.function.Predicate,开发人员可以匹配HTTP请求中的所有内容,例如请求头或请求参数,如果请求与断言相匹配则进行路由。

过滤Spring框架中GatewayFilter的实例,使用过滤器,可以载请求被路由前或者后对请求进行修改。

总结下就是: 一个web请求,通过一些匹配条件,定位到真正的服务节点,在这个转发的过程中,进行一些精细化的控制。predicate就是匹配条件,filter就是拦截器。

predicate + filter + 目标uri实现路由route,所以一般都是组合使用,一个请求可以经过多个predicate或者多个filter

4、Gatway工作流程

下面是官网给的一张图,它总体上描述了Spring Cloud Gateway的工作流程

1)客户端向Spring Cloud Gateway发出请求。

2)如果Gateway

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值