Spring Cloud:什麼是網關Zuul

Spring Cloud微服務架構中,如果要添加一些公共的操做,比如權限校驗、審計、監控等怎麼辦?在以往的SprngMvc中,我們可以通添加過濾做一些通用的操作。那麼在Spring Cloud微服務架構中我們有沒有這樣的機制呢?當然,Zuul組件就可以幹這些事情。

什麼是Zuul?

Zuul是Netflix核心組件,是基於JVM的路由器和服務器端負載均衡器。

Zuul有什麼用?

Authentication 鑑權

Insights 審計監控

Stress Testing 壓力測試

Dynamic Routing 動態路由

Service Migration 服務遷移

Load Shedding 負載分配

Security 安全

Static Response handling 靜態響應

如何使用?

創建一個普通應用book,並註冊到eureka註冊中心

創建網關應用zuulgateway,引入Zuul組件依賴

創建網元應用zuulgateway主類

主類加上@EnableZuulProxy註解,開啟Zuul組件

@Bean註解創建兩個過濾器AwesomePreFilter、AwesomePostFilter,兩個過濾器都繼承自Zuul組件的ZuulFilter,並實現了filterType、filterOrder、shouldFilter、run方法。

配置網元應用zuulgateway代理的路由zuul.routes.books.url=http://localhost:9006,網關應用端口為9007

先後啟動eureka、book、zuulgateway應用

通過網關訪問book應用的接口服務http://localhost:9007/books/available,控制檯看到AwesomePrefilter、AwesomePostFilter打印的日誌

Zuul組件簡單使用就介紹到這裡,點贊、分享哦,謝謝~~