Zuul2網關介紹及案例(非spring集成)

目錄

一.使用緣由

二.項目介紹

1.核心內容

(1)三種過濾器 Inbound、Endpoint 、Outbound 

(2)配置文件application.properties

(3)動態配置application.properties

2.參考文檔


一.使用緣由

公司需要在springcloudgateway和zuul2間做一次較爲完整的調研對比,選取其一作爲滿足我們需求的網關,我接到的任務是搭建自己本地的zuul2項目。

本文目的不在於網關的對比,而在於zuul2 sample項目的簡略使用介紹(後面有可供使用的代碼地址)。

此外,網絡上zuul2的正確文檔少之又少,希望能幫助有需要的人少走彎路

 

二.項目介紹

1.核心內容

(1)三種過濾器 Inbound、Endpoint 、Outbound 

描述:

  • Inbound Filters :在路由到源之前執行
  • Endpoint Filters :可用於返回靜態響應
  • Outbound Filters :在來源獲取響應後執行

重點:

  1. 它的filter使用的語言不是java,而是groovy
  2. 它的filter是可以動態更新的,也就是說,你編輯或新增filter不需要重啓服務器。

(2)配置文件application.properties

application.properties是他提供的默認配置文件,項目的啓動和使用都基於它。

重點:

  1. 主要功能:請求的轉發。是基於配置中的ribbon和虛擬路由vip實現的(詳見文件內容)
  2. 它提供兩種啓用方式,可以選擇註冊到eureka或者直接通過自身啓用。兩種的使用差別在於,是通過端口去調用,還是通過serviceId去調用。
  3. 使用條件:項目http://localhost:8091/users、http://localhost:8093/test 能被post請求併成功響應。
  4. 若使用eureka,則此處配置的eureka地址爲:http://localhost:8111/eureka/
  5. 上面兩個條件的參數可以自己配置

(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

 

備註:

  1. 由於個人能力有限,很多思維阻塞的地方都是老大哥指導的,相信他會寫出更多與此相關的、更爲完善的博客內容,與老大哥共事,可謂受益匪淺。這是他的博客地址:https://me.csdn.net/yejingtao703     歡迎點贊轉發。
  2. 如果該文檔或該simple項目對您有用,還望點個贊。
  3. 代碼若有不完善之處,還望指出。
  4. 這是代碼地址:https://github.com/2775468731/zuul-sample.git

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章