zuul就是個servlet應用,zuul是集合了過濾、代理、路由三大功能,zuul在登錄認證、權限驗證、錯誤捕捉、反向代理、限流、統計、動態路由、壓力測試、負載均衡起到了很好的作用。
zuul的原理:
1、zuul的過濾
1)過濾器的執行流程
zuul的核心局勢filter過濾機制,請求都會被控制器ZuulControler攔截,由ZuulServlet來處理。先看一下zuul過濾的流程:
2)過濾器的執行原理
所有的請求都要經過ZuulServlet,然後由ZuulRunner去執行,zuulRunner把邏輯又交給FilterProcessor去執行。
3)不同過濾器消息傳遞
過濾器之間是通過RequestContext去傳遞消息的,RequestContext內部的ThreadLocal變量去存儲信息,從而實現不同過濾器的消息傳遞。