GateWay网关微服务定位和理论知识

微服务架构的网关在哪里?

概念

SPring Cloud Gateway组件的核心是一系列的过滤器,通过这些过滤器可以将客户端发送的请求转发(路由)到对应的微服务。Spring Cloud Gateway是加在整个微服务最前沿的防火墙和代理器,隐藏微服务节点IP端口信息,从而加强安全保护。Spring Gateway本身也是一个微服务,需要注册进服务注册中心。

Spring Cloud Gateway三大概念:路由Route、断言Predicate、过滤器Filter。

路由是构建网关的基本模块,它由ID,目标URI,一系列的断言和过滤器组成的,如果断言为true则匹配该路由。

断言(predicate)参考的是java8的java.util.function.predicate开发者可以匹配http请求中的所有内容(例如请求头或者请求参数),如果请求与断言橡皮撇则进行路由。

过滤:指的是Spring框架中的Gatewayfilter的实例,使用过滤器,可以在请求被旅游前或者之后对请求进行修改。

工作流程

客户端向Spring Cloud Gateway发送请求。然后在Gateway Handler Mapping中找到与请求相匹配的路由,将其发送到Gateway Web Handler。Handler再通过指定的过滤器链来将请求发送到我们实际的服务执行业务逻辑,然后返回。过滤器之间用虚线分开是因为过滤器可能会在发送代理请求之前或者之后执行业务逻辑。

在"pre"类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等

在"post"类型的过滤器中可以做响应内容、响应头的修改、日志的输出,流量监控等有着非常重要的作用。

相关推荐
benbenAItalk1 分钟前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
sunshine22 girl7 分钟前
Java学习二 基本语法2, 算术运算符
java·学习
niucloud-admin20 分钟前
JAVA V6 多商户商城 开发文档——插件目录结构
java·开发语言
2601_9628857221 分钟前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
滕州市燕猫虎计算机科技工作室个体工商户29 分钟前
Java锁
java·开发语言
shehuiyuelaiyuehao3 小时前
1计算机是如何工作的
java·计算机网络
letisgo53 小时前
JAVA 高级进阶07篇《@Transactional失效的8个场景:代理机制到传播行为》
java·面试·transactional·spring事务·aop动态代理
水域安全老周3 小时前
水趣钓鱼救生衣专利拆解:两级锁紧如何解决落水人衣分离
java·前端·网络
三8443 小时前
Java 模板注入(FreeMarker) · 02 · 模板引擎与 FreeMarker 语法
java·开发语言·web安全·freemarker
暮雨哀尘4 小时前
Java 基础练习(一):创建类并调用对象
java·开发语言