目錄
(1)三種過濾器 Inbound、Endpoint 、Outbound
一.使用緣由
公司需要在springcloudgateway和zuul2間做一次較爲完整的調研對比,選取其一作爲滿足我們需求的網關,我接到的任務是搭建自己本地的zuul2項目。
本文目的不在於網關的對比,而在於zuul2 sample項目的簡略使用介紹(後面有可供使用的代碼地址)。
此外,網絡上zuul2的正確文檔少之又少,希望能幫助有需要的人少走彎路。
二.項目介紹
1.核心內容
(1)三種過濾器 Inbound、Endpoint 、Outbound
描述:
- Inbound Filters :在路由到源之前執行
- Endpoint Filters :可用於返回靜態響應
- Outbound Filters :在來源獲取響應後執行
重點:
- 它的filter使用的語言不是java,而是groovy
- 它的filter是可以動態更新的,也就是說,你編輯或新增filter不需要重啓服務器。
(2)配置文件application.properties
application.properties是他提供的默認配置文件,項目的啓動和使用都基於它。
重點:
- 主要功能:請求的轉發。是基於配置中的ribbon和虛擬路由vip實現的(詳見文件內容)
- 它提供兩種啓用方式,可以選擇註冊到eureka或者直接通過自身啓用。兩種的使用差別在於,是通過端口去調用,還是通過serviceId去調用。
- 使用條件:項目http://localhost:8091/users、http://localhost:8093/test 能被post請求併成功響應。
- 若使用eureka,則此處配置的eureka地址爲:http://localhost:8111/eureka/
- 上面兩個條件的參數可以自己配置
(3)動態配置application.properties
通過集成Netflix Archaius用於動態屬性管理。
本項目的具體實現是:以輪詢的方式,隔一段時間從網絡上獲取properties配置,同時更新項目中的properties配置。
這是它的實現過程:
這些配置完成後,首先會在啓動項目時獲取一次配置文件,此後會根據定義的輪詢時間獲取一次配置文件。
2.參考文檔
若有些不清晰的內容,可以通過這些參考文檔詳細瞭解zuul2。
官網:https://github.com/Netflix/zuul/wiki
指導示例:https://github.com/dashprateek/zuul2-sample
指導博客:https://thebackendguy.com/netflix-zuul-2-api-gateway-sample/
動態配置指導 博客:https://blog.csdn.net/upupuptp/article/details/74003901
項目指導人:https://me.csdn.net/yejingtao703
備註:
- 由於個人能力有限,很多思維阻塞的地方都是老大哥指導的,相信他會寫出更多與此相關的、更爲完善的博客內容,與老大哥共事,可謂受益匪淺。這是他的博客地址:https://me.csdn.net/yejingtao703 歡迎點贊轉發。
- 如果該文檔或該simple項目對您有用,還望點個贊。
- 代碼若有不完善之處,還望指出。
- 這是代碼地址:https://github.com/2775468731/zuul-sample.git