首页 > 其他 > 详细

ZuulFilter

时间:2019-08-31 23:29:23      阅读:90      评论:0      收藏:0      [点我收藏+]

在服务网关中定义过滤器,只需要继承ZuulFilter抽象类,实现其定义的四个抽象函数,就可对请求进行拦截与过滤

过滤器两个功能:

  1. 路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础
  2. 过滤器功能则负责对请求的处理过程进行预干预,是实现请求校验、服务聚合等功能的基础

请求生命周期

  1. pre :在请求路由到目标之前执行。一般用于请求认证、负载均衡和日志记录
  2. route :在路由请求时候被调用,处理目标请求
  3. post :在route和error过滤器之后被调用,一般会在此步骤添加响应头、收集统计和性能数据等
  4. error :处理请求时发生错误时被调用

技术分享图片

第一阶段:pre类型的过滤器处理

第二个阶段:routing,路由请求转发阶段
    请求将会被routing类型过滤器处理,这里的具体处理内容就是将外部请求转发到具体服务实例上去的过程
    当服务实例将请求结果都返回之后,routing阶段完成

第三个阶段:post,此时请求将会被post类型的过滤器进行处理
    这些过滤器在处理的时候不仅可以获取到请求信息,还能获取到服务实例的返回信息,
    所以在post类型的过滤器中,我们可以对处理结果进行一些加工或转换等内容。

一个特殊的阶段:error,该阶段只有在上述三个阶段中发生异常的时候才会触发
    但是它的最后流向还是post类型的过滤器,因为它需要通过post过滤器将最终结果返回给请求客户端

ZuulFilter

原文:https://www.cnblogs.com/loveer/p/11440857.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!