SpringCloud 07 微服务网关

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
virus59451 天前
悟空CRM mybatis-3.5.3-mapper.dtd错误解决方案
java·开发语言·mybatis
没差c1 天前
springboot集成flyway
java·spring boot·后端
时艰.1 天前
Java 并发编程之 CAS 与 Atomic 原子操作类
java·开发语言
编程彩机1 天前
互联网大厂Java面试:从Java SE到大数据场景的技术深度解析
java·大数据·spring boot·面试·spark·java se·互联网大厂
笨蛋不要掉眼泪1 天前
Spring Boot集成LangChain4j:与大模型对话的极速入门
java·人工智能·后端·spring·langchain
Yvonne爱编码1 天前
JAVA数据结构 DAY3-List接口
java·开发语言·windows·python
像少年啦飞驰点、1 天前
零基础入门 Spring Boot:从“Hello World”到可上线微服务的完整学习指南
java·spring boot·微服务·编程入门·后端开发
Renhao-Wan1 天前
从零部署Spring Cloud微服务系统(Kiwi-Hub)
spring·spring cloud·微服务
眼眸流转1 天前
Java代码变更影响分析(一)
java·开发语言
Yvonne爱编码1 天前
JAVA数据结构 DAY4-ArrayList
java·开发语言·数据结构