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"类型的过滤器中可以做响应内容、响应头的修改、日志的输出,流量监控等有着非常重要的作用。

相关推荐
老华带你飞9 分钟前
旅游|基于Java旅游信息推荐系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端·旅游
青云交10 分钟前
Java 大视界 -- 基于 Java 的大数据可视化在企业供应链动态监控与优化中的应用
java·数据采集·大数据可视化·动态优化·企业供应链·实时预警·供应链监控
van久14 分钟前
.Net Core 学习:DbContextOptions<T> vs DbContextOptions 详细解析
java·学习·.netcore
Coder_Boy_14 分钟前
【物联网技术】- 基础理论-0001
java·python·物联网·iot
dangdang___go19 分钟前
文件操作2+程序的编译和链接(1)
java·服务器·前端
Tony_yitao21 分钟前
12.华为OD机试 - N个选手比赛前三名、比赛(Java 双机位A卷 100分)
java·算法·华为od·algorithm
老华带你飞30 分钟前
医院挂号|基于Java医院挂号管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
豐儀麟阁贵33 分钟前
9.6使用正则表达式
java·开发语言·数据库·mysql
杀死那个蝈坦1 小时前
Docker
java·docker·eclipse·tomcat·hibernate
a3158238061 小时前
Android13隐藏某个App需要关注的源码文件
android·java·framework·launcher3·隐藏app