美文网首页spring cloud
spring cloud zuul学习笔记

spring cloud zuul学习笔记

作者: Hello_Yi | 来源:发表于2019-03-26 16:37 被阅读0次

    zuul框架流程

    zuul的工作流程如下图所示:

    zuul 工作流程

    zuul是一个servlet实现,zuul runner负责具体的流程的实现。整个流程是由一系列的filter组成的。Filter Processor负责管理各个阶段运行对应类型的Filter。Filter Loader负责加载各种类型的Filter。

    zuul runner的具体流程如下图所示:

    zuul runner流程

    zuul的Filter有4中类型:

    pre : 路由前一些预处理的工作,黑白名单,鉴权可以在这个位置实现

    route : 路由逻辑实现位置,实际转发请求到后端服务可以在这里实现

    post :  从后端服务收到response后,可以对response进行一些定制处理,可以放在这个位置

    error : 异常处理

    Filter是怎么加载的

    Filter 是在配置类ZuulServerAutoConfiguration中加载的。

    load filters

    能够扫描到的ZuulFilter会放在filters中,交给filterLoader管理。

    默认加载的ZuulFilter有:

    ZuulServerAutoConfiguration ZuulProxyAutoConfiguration

    自定义的Filter需要实现以下接口:

    filter interface

    filterType指定filter类型

    filterOrder指定filter执行的顺序

    shouldFilter用来判断该filter是否需要执行,zuul提供了一个RequestContext的thread local变量用于保存请求内容,shoulFilter可以根据请求内容来判断是否需要执行当前filter.

    实际过滤实现的逻辑在run方法中实现

    相关文章

      网友评论

        本文标题:spring cloud zuul学习笔记

        本文链接:https://www.haomeiwen.com/subject/hsjnmftx.html