SpringCloud 07 微服务网关

服务发现和服务调用是微服务系统内部调用方式。外部请求进入微服务系统,首先经过微服务网关。

微服务网关本身也是一个微服务。

gateway 规则由三部分组成:路由,谓词,过滤器。

路由是网关的基本单元。实现将请求路由到目标地址。谓词是路由的条件。

可以在配置文件中硬编码路由规则,更推荐的方式是 Nacos 动态配置路由规则。

gateway内置谓词有三类:寻址谓词,请求参数谓词,时间谓词。

寻址谓词:Path=/api/age/**,比如path匹配路径。method谓词匹配请求方法。

请求参数谓词:可以是请求参数,可以是请求头参数,可以是cookie。

时间谓词:before,after,between 时间。

继承AbstractRoutePredicateFactory 抽象类,在 apply 方法自定义谓词逻辑。

过滤器可以拦截请求, 执行额外操作,比如添加请求头参数,修改路径,修改请求体。

自定义过滤器分三类:全局过滤器 ,路由过滤器,过滤器工厂。

全局过滤器实现 GlobalFilter 接口,在所有路由请求上执行。可以实现通用功能,比如日志。

路由过滤器实现 GatewayFilter 接口,针对特定路由。

过滤器工厂实现根据参数动态创建过滤器类。属于工厂模式。

相关推荐
HZZD_HZZD5 小时前
DL/T 645-2026新国标深度解读与智能电表协议适配实战:从帧结构变化到Java采集器升级的全链路改造方案
java·开发语言
山登绝顶我为峰 3(^v^)38 小时前
C/C++ 交叉编译方法
java·c语言·c++
一叶飘零_sweeeet8 小时前
Codex 与 Claude Code 深度拆解:两代 AI 编程智能体的技术本质与 Java 实战指南
java·ai·codex·claude code
Listen·Rain8 小时前
提示词和提示词模板
java·人工智能·spring boot
doiito9 小时前
【Web安全,微服务安全】HashiCorp Vault 项目深度分析报告
安全·微服务
wuqingshun3141599 小时前
重写equals而不重写hashCode,会出什么问题?
java·开发语言
我今晚不熬夜9 小时前
Java语言实现Modbus协议通过用串口读取数据(以RTU为例)
java·网络协议
阿里云云原生10 小时前
不再手动同步 Prompt 与 Skill:Nacos AI Registry 打造 Agent 时代的“代码仓库”
微服务
小锋java123410 小时前
Maven 4 要来了:15 年后,Java 构建工具迎来"彻底重构"
java·maven