首页 > 其他分享 >统一网关Gateway

统一网关Gateway

时间:2024-10-24 23:00:07浏览次数:7  
标签:网关 跨域 order GlobalFilter 过滤器 Gateway 路由 统一

统一网关Gateway

①:为什么需要网关

 

②:搭建网关服务

 网关作用流程

 

③:路由断言工厂

 关于断言工厂为什么不是过滤器

断言工厂是用来匹配请求的,比方说有很多微服务交由网关管理。
每个微服务都有不同的断言 工厂配置,有的微服务必须几点之前、有的微服务必须什么IP
当前端发来URL,请求的时候,URL会跟配置中比较
满足断言工厂配置条件的才能找到对应的服务并响应

 如果你访问localhost:88/hello?url=baidu它会自动跳转到,www.baidu.com/hello

④:路由过滤器GatewayFilter

⑤:全局过滤器GlobalFilter

全局过滤器的作用也是处理一切进入网关的请求和微服务响应,与GatewayFilter的作用一样。

⑥:过滤器执行顺序

请求进入网关会碰到三类过滤器: 当前路由的过滤器、DefaultFilter、GlobalFilter
请求路由后,会将当前路由过滤器和DefaultFilter、GlobalFilter,合并到一个过滤器链 (集合)中,排序后依次执行每个过滤器

1、 每一个过滤器都必须指定一个int类型的order值,order值越小,优先级越高,执行顺序越靠前
2、 GlobalFilter通过实现Ordered接口,或者添加@Order注解来指定order值,由我们自己指定
3、 路由过滤器和defaultFilter的order由Spring指定,默认是按照声明顺序从1递增
4、 当过滤器的order值一样时,会按照 defaultFilter > 路由过滤器>GlobalFilter的顺序执行

⑦:跨域问题处理

**跨域:**域名不一致就是跨域,主要包括:

  • 域名不同: www.taobao.com 、www.taobao.org
  • 域名相同: 端口不同: localhost:8080、 localhost:8081
  • 跨域问题: 浏览器禁止请求的发起者与服务端发生跨域ajax请求,请求被浏览器拦截的问题
  • 解决方案: CORS

标签:网关,跨域,order,GlobalFilter,过滤器,Gateway,路由,统一
From: https://www.cnblogs.com/zhao-ke-ming/p/18501527

相关文章