十三、SpringCloud学习笔记之Gateway+demo

本文介绍了Spring Cloud Gateway作为Spring Cloud生态的API网关,包括它的核心概念、工作流程、与Zuul的区别,以及如何配置和使用。通过动态路由、过滤器等功能,展示了其在微服务架构中的作用,如流量控制、服务间路由等。

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

Gateway网关

概述简介

官网:
https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/

是什么

Gateway 是在Spring生态系统之上,基于Spring5,Spring Boot2 和Project Reactor等技术。

Gateway旨在提供一种简单而有效的方式来对API进行路由,以及提供一些强大的过滤器功能,例如:熔断、限流、重试等。
在这里插入图片描述
Spring Cloud Gateway 作为 Spring Cloud 生态系统中的弯管,母校是替代Zuul,在Srping Cloud 2.0以上本版本中,没有对新版本的Zuul 2.0以上最新高性能版本进行集成。仍然还是使用的Zuul 1.x非Reactor模式的老版本,而为了提升网关的性能,SpringCloud Gateway是基于WebFlux框架实现的,二WebFlux框架底层则使用了高性能的Reactor模式通信框架Netty

Spring Cloud Gateway的咪表提供统一的路由方式且基于Filter链的方式提供了网关基本的功能,例如:安全、监控/指标和限流等。

一句话:
Spring Cloud Gateway 使用的Webflux中的reactor-netty响应式编程组件,底层使用了Netty通讯框架

源码架构:
在这里插入图片描述

能干嘛

反向代理

鉴权

流量控制

熔断

日志监控

微服务架构中网关在哪里

在这里插入图片描述

有了Zuul了怎么又出来了gateway
SpringCloud Gateway具有如下特性:

基于Spring Framework 5,Project Reactor 和 Spring Boot 2.0 进行构建;
动态路由:能够匹配任何请求属性;
可以对路由指定Predicate(断言)和Filter(过滤器);
集成Hystrix的断路器功能;
集成Spring Cloud 服务发现功能;
易于编写的Predicate(断言)和Filter(过滤器);
请求限流功能;
支持路径重写。

SpringCloud Gateway与Zuul的区别

在Spring Cloud Finchley 正式版之前,Spring Cloud 推荐的网关是Netflix提供的zuul;

1、Zuul 1.x 是一个基于阻塞I/O的APIGateway
2、Zuul 1.x 基于Servlet 2.5 使用阻塞架构 它不支持任何长连接(如WebSocket)Zuul的设计模式和Nginx用C++实现,Zuul用Java实现,而JVM本身会有第一次加载较慢的情况,是的Zuul的性能相对较差。
3、Zuul 2.x理念更先进,相继与Netty非阻塞和支持长连接,单SpringCloud目前还没有整合。Zuul 2.x的性能较Zuul 1.x有较大提升。在性能方面,根据官方提供的基准测试。Spring Cloud Gateway 的RPS(每秒请求数)是Zuul的1.6倍。
4、Spring Cloud Gateway建立在Spring Frameword 5、Project Reactor 和Spring Boot2之上,使用非阻塞API

5、Spring Cloud Gateway 还支持WebSock

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值