什麼是Zuul?
Zuul是設備和網站所有請求的前門,作爲一個邊緣服務應用,Zuul用於動態路由,監控,彈性,安全。
爲什麼創建Zuul?
Netflix API流量的數量和多樣性有時會導致生產問題迅速出現,而沒有任何警告。 我們需要一個能讓我們快速改變行爲的系統,以便對這些情況作出反應。
Zuul用一系列不同類型(pre,route,post,error)的Filter,使我們能夠快速,靈活地將功能應用於我們的邊緣服務
- 身份驗證和安全性 - 識別每個資源的身份驗證要求並拒絕不滿足要求的請求。
- 洞察和監測 - 在邊緣跟蹤有意義的數據和統計數據,以便爲我們提供準確的生產視圖。
- 動態路由 - 根據需要將請求動態路由到不同的後端羣集。
- 壓力測試 - 逐漸增加到羣集的流量,以衡量表現。
- 加載Shedding - 爲每種類型的請求分配容量,並刪除超出限制的請求。
- 靜態響應處理 - 直接在邊緣建立一些響應,而不是將它們轉發到內部羣集
- 多區域彈性 - 跨AWS區域的路由請求,以使我們的ELB使用多樣化,並使我們的邊緣更接近我們的成員
Zuul包含多個組件:
- zuul-core - 包含編譯和執行過濾器的核心功能的庫
- zuul-simple-webapp - webapp,其中顯示瞭如何使用zuul-core構建應用程序的簡單示例
- zuul-netflix - 將其他NetflixOSS組件添加到Zuul的庫 - 使用功能區來執行路由請求。
- zuul-netflix-webapp - webapp把zuul-core和zuul-netflix組合成一個易於使用的軟件包