首先我们来看一张官方给出的Zuul请求的生命周期图,如下:
关于这张图我说如下几点:
1.正常情况下所有的请求都是按照pre、route、post的顺序来执行,然后由post返回response
2.在pre阶段,如果有自定义的过滤器则执行自定义的过滤器
3.pre、routing、post的任意一个阶段如果抛异常了,则执行error过滤器,然后再执行post给出响应
这是这张图给我们的信息,我们再来看看源码com.netflix.zuul.http.ZuulServlet
类中的service方法,这是整个调用过程的核心,如下: