Gateway


1.为什么需要gateway作为网关/路由

在微服务框架中,我们各个微服务都不是直接暴露给其他服务来调用的。但假如有一个用户知道了一个服务的ip:端口号:url:访问参数,就能直接访问你,再进一步,如果这个用户开始恶意访问、恶意攻击,就会摧毁咱们的微服务系统。所以需要一个网关对我们的微服务进行保护。

网关完成对微服务保护的核心:过滤器。

 

2.过滤方式

  • pre:在转发之前执行,一般用来做参数校验、权限校验、流量监控、日志输出、协议转换。
  • post:在后端响应之后,但没有返回给前端之前执行,一般用来作响应头和相应内容的修改、流量监控、日志输出。

 

3.两种过滤器类型

  • GatewayFilter:局部过滤器,针对单个路由。
    • 在springcloud gateway组件中提供了大量内置的局部过滤器,对请求和响应做过滤操作。
    • 遵循约定大于配置的思想,只需要在配置文件配置局部过滤器的名称,并为其指定对应的值,就可以让其生效。
  • GlobalFilter:全局过滤器,针对所有路由。
    • 不需要特殊的配置,系统初始化的时候自动加载,并作用在每个路由上。
    • gateway的核心功能也是通过内置的全局过滤器来完成的。
    • 自定义全局过滤器的步骤:
      • 实现GlobalFilter和Ordered接口
      • 复写方法
      • 完成逻辑处理  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM