网关Gateway

一、网关第一步:断言->断言工厂

路由断言【Route Predicate】、断言工厂【Route Predicate Factory】

什么是路由断言?

判断一个路由断言是否符合条件,符合则转发到路由的目的地

我们在配置文件中写的断言规则只是字符串,这些字符串会被断言工厂(Route Predicate Factory)读取并处理,转换为路由判断的条件

当请求到来的时候,首先交给路由断言工厂进行处理,如果命中断言工厂,则执行下一步,否则返回错误信息

什么是路由断言工厂?

读取用户配置的断言规则,并把它解析成判断条件,并作出判断

像这样的断言工厂在SpringCloudGateway有十几个,每一个都有自己的判断条件
image
用的最多的断言工厂是Path,根据路径进行判断
image
image
这个的含义是对请求路径做判断,只要路径的开头是这个,就符合条件
他会根据配置文件中的路由规则挨边找,直到找到符合(放行)的或者没有符合的为止(报错404),在做相关的判断!


二、路由中的过滤器GatewayFilter

GatewayFilter是网关中提供的一种过滤器,可以对网关的请求以及微服务的响应做处理:
image
image
具体使用哪个路由过滤工厂,到时候可以查看微服务的源码查找使用方法!配置案例如下
image
配置默认路由过滤器:对所有请求都生效!
image

全局过滤器GlobalFilter:作用和GatewayFilter的作用一样,处理一切进入网关的请求和微服务响应,但是它需要自己写代码实现,不像GatewayFilter一样直接配置就行,优点在于:处理逻辑可以根据需求调整

image

ps:交给下一个过滤器处理是一个过滤链

image


三、过滤器的执行顺序

image
image

四、网关的跨域处理

跨域情况:浏览器禁止请求的发起者与服务端发生的ajax请求,请求被浏览器拦截的问题

image
image
image

本文作者:仙女无可奈何

本文链接:https://www.cnblogs.com/wenwenlee/p/18086299

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   仙女无可奈何  阅读(7)  评论(0编辑  收藏  举报
历史上的今天:
2023-03-20 运行Pointnet代码时,可视化的时候一直报错:OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起