SpringCloud Zuul網關的簡單理解
阿新 • • 發佈:2019-04-27
補充 user 包裝 ring url 理解 線程 就是 沒有
https://www.cnblogs.com/expiator/p/10753746.html
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,詳情見:
請求過濾
待補充。
參考資料:
《SpringCloud微服務實戰》
SpringCloud Zuul網關的簡單理解