网关 Spring Cloud Gateway

一、简介

Gateway网关是我们服务的守门神,所有微服务的统一入口。Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。

在Gateway之前,SpringCloud并不自己开发网关,可能是觉得Netflix公司的Zuul不行吧,然后自己就写了一个,也是替代Netflix Zuul。其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控/指标和限流。

本身也是一个微服务,需要注册到Nacos

二、功能特性

  • 动态路由

  • Predicates(断言) 和 Filters 作用于特定路由

  • 简单好用的 Predicates 和 Filters

  • 路径重写

  • 不管是来自客户端的请求,还是服务内部调用。一切对服务的请求都可经过网关。

  • 网关实现鉴权、动态路由等等操作。

  • Gateway是我们服务的统一入口

三、术语解释

  • Route(路由):这是网关的基本模块。它由一个 ID,一个目标 URI,一组断言和一组过滤器定义。如果断言为真,则路由匹配。

  • Predicate(断言):这是一个 Java 8 的 Predicate。输入类型是一个 ServerWebExchange。我们可以使用它来匹配来自 HTTP 请求的任何内容,例如 headers 或参数。

  • Filter(过滤器):这是org.springframework.cloud.gateway.filter.GatewayFilter的实例,我们可以使用它修改请求和响应。

相关推荐
兆子龙10 小时前
ahooks useRequest 深度解析:一个 Hook 搞定所有请求
java·javascript
兆子龙10 小时前
React Suspense 从入门到实战:让异步加载更优雅
java·javascript
咕白m62512 小时前
Java 实现 Excel 转 HTML:完整示例
java
RealPluto13 小时前
Spring AOP 失效排查
java·spring
码路飞13 小时前
热榜全是 OpenClaw,但我用 50 行 Python 就造了个桌面 AI Agent 🤖
java·javascript
Nyarlathotep011313 小时前
LinkedList源码分析
java·后端
用户83071968408213 小时前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql
带刺的坐椅14 小时前
SolonCode v0.0.20 发布 - 编程智能体(新增子代理和浏览器能力)
java·ai·agent·solon·solon-ai·claude-code·openclaw
会员源码网15 小时前
数字格式化陷阱:如何优雅处理 NumberFormatException
java