SpringCloud知识点--Zuul网关

将之前的一些笔记进行了整理,在这里发布一下。
多数为零碎知识点,适合阅读完系列博客后复盘巩固。

文章核心参考自 悟空 牧码小子 微信系列文章已经其他博客:
Spring Cloud中的API网关服务Zuul

Zuul是常用的Spring Cloud 网关组件,我们可以让所有的请求都经由API网关,在网关中进行统一的处理,例如Oauth验证,负载均衡,请求路由等一系列事情。

一 . 网关流程图

SpringCloud知识点--Zuul网关

二 . 网关用法

SpringCloud知识点--Zuul网关

  1. 添加Zuul springcloud依赖
  2. 使用注解开启@EnableZuulProxy
  3. 除了Cloud项目常规配置外加入其它专属配置

三 . 自定义网关Filter

我们可以通过继承ZuulFilter 来实现自定义ZuulFilter
SpringCloud知识点--Zuul网关
关键点

  • 使用自定义Filter需要继承ZuulFilter类
  • Filter中需要重写四个方法:
    • filterType:用于定义filter类型
    • filterOrder : 用于定义执行位置
    • shouldFilter :用于设置是否开启
    • run:具体执行内容
  • 通过@Bean将filter加入业务中

四 . Zuul生命周期

SpringCloud知识点--Zuul网关

Zuul生命周期中有几个关键的Filter

  • pre Filter用于在进入服务前进行处理
  • routing Filter用于在请求给与服务实例以及从实例中获取结果时进行处理
  • Post Filter用于对处理结果进行加工
  • Error用于以上出现问题时执行

SpringCloud知识点--Zuul网关
五 . 具体Filter总结

未完待续。。。春节继续