zuul就是个servlet应用,zuul是集合了过滤、代理、路由三大功能,zuul在登录认证、权限验证、错误捕捉、反向代理、限流、统计、动态路由、压力测试、负载均衡起到了很好的作用。
zuul的原理:
1、zuul的过滤
1)过滤器的执行流程
zuul的核心局势filter过滤机制,请求都会被控制器ZuulControler拦截,由ZuulServlet来处理。先看一下zuul过滤的流程:
2)过滤器的执行原理
所有的请求都要经过ZuulServlet,然后由ZuulRunner去执行,zuulRunner把逻辑又交给FilterProcessor去执行。
3)不同过滤器消息传递
过滤器之间是通过RequestContext去传递消息的,RequestContext内部的ThreadLocal变量去存储信息,从而实现不同过滤器的消息传递。