1. 程式人生 > >SpringCloud Zuul網關的簡單理解

SpringCloud Zuul網關的簡單理解

補充 user 包裝 ring url 理解 線程 就是 沒有

Zuul網關功能

請求路由、服務路由、請求過濾

請求路由

參數配置如下所示,所有能夠配置path規則的請求,都會被zuul網關轉發到對應的url上。

zuul.routes.user-service.path=/user-service/**  
zuul.routes.user-service.url=http://178.69.1.39:9104/ 

服務路由

參數配置如下所示,zuul會對服務user-service進行路由,所有能夠配置path規則的請求,都會被zuul網關轉發到serivce-id服務上。

zuul.routes.user-service.path=/user-service/**  
zuul.routes.user-service.serviceId=user-service/**  
zuul.routes.user-service.strip-prefix=false

Zuul內置Hystrix和Ribbon

Zuul內置Hystrix和Ribbon模塊的依賴,所以zuul天生就擁有線程隔離和斷路器的自我保護功能,以及對服務調用的客戶端負載均衡功能。
當使用path與url的映射關系來配置路由規則的時候,對於路由轉發的請求不會采用hystrixCommand來包裝,所以這類請求沒有線程隔離和斷路器的保護,並且也不會有負載均衡的能力。
因此,在使用zuul的時候盡量使用path和serviceId的組合(也就是服務路由)來進行配置,這樣不僅可以保證api網關的健壯和穩定,也能用到ribbon的客戶端負載均衡功能。
Zuul配置Hystrix和Ribbon,詳情見:

https://www.cnblogs.com/expiator/p/10753746.html

請求過濾

待補充。
參考資料:
《SpringCloud微服務實戰》

SpringCloud Zuul網關的簡單理解