一个请求在Zuul的生命周期

以下图片描述了一个请求在Zuul的生命周期:
一个请求在Zuul的生命周期

  • 首先一个外部HTTP请求进入Api网关服务后,会先经过pre类型的过滤器,主要是做一些前置处理,比如登录校验,权限校验等,还没有进行请求的真正路由。

  • 通过pre类型的过滤器后,请求会经过routing类型的过滤器,该过滤器会对请求的路径进行路由匹配,转发到对应的服务实例上,等服务实例将请求结果返回后,这个阶段就结束了。

  • routing类型的过滤器返回请求结果后,请求进入post类型过滤器,那么这个过滤器是用来做什么的,要知道这些过滤器在处理请求时,不仅可以请求的信息,同时还能得到服务实例的返回信息,那么我们可以用post类型过滤器对服务实例的返回结果再做一层封装,加上我们想要的一些效果。

  • 以上就是正常请求时会发生的3个步骤,如果以上3步出现了异常,就会进入error类型的过滤器。从图里可以看到,3个正常步骤的过滤器被包裹在虚线框里,一旦出错,箭头会流向error类型的过滤器,而发生了错误后,照样也需要返回个结果给请求客户端,所以最后会再流向post类型过滤器做处理