Zuul提供而來哪些網關功能
- Zuul元件給微服務架構提供了統一的API入口,并且根據不同過濾器處理API,最後傳到後端業務。
- Zuul元件主要還是提供了過濾機制、動态路由的功能。
- Zuul元件還提供了效驗過濾、服務聚合、服務容錯等等的功能。
- 因為Zuul自動內建了Ribbon和Hystrix,是以Zuul元件生來就自帶負載均衡和服務容錯的能力。
Zuul的工作核心是什麼?
如果問Zuul的工作核心是什麼?那肯定會得到異口同聲的答案,那就是過濾器,Zuul内部代碼實作了多種過濾器類型,以支援網關工作。
Zuul提供了哪些類型的過濾器類型
pre : 可以在請求被路由之前被調用。
此過濾器類型更适用于身份認證的場景,當認證成功後,放進行下一步的操作。
route : 在路由請求時被調用。
适用于灰階釋出場景,在将要通路路由的時候同時去做一些自定義的邏輯,以滿足相應的奇奇怪怪的需求。
post : 在 route 和 error 過濾器之後被調用。
此類過濾器将請求路由到達具體的服務之後執行。比較适用于需要添加響應頭,記錄響應日志等應用場景。
error : 處理請求時發生錯誤時被調用。
在執行過程中發送錯誤時會進入 error 過濾器,可以用來統一記錄錯誤資訊,以便于後期解決問題。
Zuul有哪些重點配置
我們直接在Spring Cloud Zuul子產品中引入相關jar包,當然需要使用@EnableZuulProxy注解修飾Application類了。
配置Zuul通路api路徑:
zuul.routes.eureka-application-service.path=/api/**
配置Zuul服務名稱:
zuul.routes.eureka-application-service.serviceId=service-zuul-name
配置可忽略服務:
zuul.ignored-services=service-1
配置Zuul路由字首路徑:
zuul.prefix=/zuul