1. 程式人生 > >springcloud zuul鑑權 限流 引數調整 以及 日誌 統計 pre以及post

springcloud zuul鑑權 限流 引數調整 以及 日誌 統計 pre以及post

zuul的核心是過濾器鏈,而這裡的過濾器前置的pre()是對限流 ,鑑權,引數調整等一系列的功能支援,自定義,而post()則是對日誌,資料統計等功能支援。
如果需要zuul實現高可用支援,就需要多個zuul註冊到eureka註冊中心即可,對內部而言,多個zuul會發送心跳給eureka註冊中心,這時候,檢測到有心跳的服務就可以提供服務,就會發生a服務呼叫b服務,而對外部而言可以使用 Nginx反向代理到多個zuul上進行路由URL
下面先來整體的分析專案在這裡插入圖片描述
接下來自定義鑑權功能,這個功能需要訪問者需要帶上token才能進行訪問相應的API,這裡就需要設計一個過濾類繼承了ZuulFilter

這個類,然後才能使用定義過濾的order以及filterType還有run的邏輯,注意的寫法,order的順序問題,需要在哪個過濾器之前,官方圖鑑的這種寫法。在這裡插入圖片描述
對沒有token的過濾邏輯
在這裡插入圖片描述
後置處理器 post 系列過濾器,定義跟pre()系列過濾器一致,也是同樣需要繼承ZuulFilter這個類,重寫對後置處理的規則,不同的是pre是對request來進行處理,而post就是response來處理,在這裡插入圖片描述
通過瀏覽器的network可以看到返回自定義的內容 header裡面在這裡插入圖片描述