Gateway

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

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

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

 

2.过滤方式

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

 

3.两种过滤器类型

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


下一篇:[LeetCode] 48. Rotate Image_Medium tag: array