目录
诞生背景
一个大型的系统可以拆分为很多个微服务,客户端去访问微服务时会通过服务的URL地址进行访问,如果有很多个URL地址时,我们只能在客户端保存地址分别去访问,而且在调用微服务时还需要独立的认证以及跨域的请求,这样的话就提高了代码的复杂性。为了简化服务的调用逻辑和复杂度,就有了网关的概念。
概述
网关本质上要提供一个各种服务访问的入口,并提供服务接收并转发所有内外部的客户端调用,还有就是权限认证,限流控制等等。
Spring Cloud Gateway是Spring公司基于Spring 5.0,Spring Boot 2.0 和 等技术开发的一个网关组件,它旨在为微服务架构提供一种简单有效的统一的 API入口,负责服务请求路由、组合及协议转换,并且基于 Filter 链的方式提供了权限认证,监控、限流等功能。
Spring cloud Gateway优缺点分析
1.优点
性能强大,速度是Zuul的1.6倍
功能强大,内置了很多实用的功能,例如转发、监控、限流等
设计优雅,容易扩展
2.缺点
依赖Netty与WebFlux(Spring5.0),不是传统的Servlet编程模型(Spring MVC就是基于此模型实现),学习成本高。
需要Spring Boot 2.0及以上的版本,才支持
Spring cloud Gateway限流
从 1.6.0 版本开始,Sentinel 提供了 Spring Cloud Gateway 的适配模块,可以提供两种资源维度的限流:
route 维度:即在 Spring 配置文件中配置的路由条目,资源名为对应的 routeId
自定义 API 维度:用户可以利用 Sentinel 提供的 API 来自定义一些 API 分组
在使用时需要导入依赖:
<dependency> <groupId>com.alibaba.csp</groupId&g

本文介绍了Spring Cloud Gateway作为微服务网关的角色和重要性,详细阐述了其诞生背景、工作流程和优缺点。内容包括Gateway如何实现负载均衡、限流功能,并通过Sentinel组件展示了具体的限流配置和案例,揭示了其在服务安全、流量控制方面的应用。
最低0.47元/天 解锁文章
918

被折叠的 条评论
为什么被折叠?



