中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Zuul是什么

發布時間:2021-12-29 14:02:30 來源:億速云 閱讀:178 作者:小新 欄目:軟件技術

這篇文章主要介紹了Zuul是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1. Zuul是什么

微服務場景下,每一個微服務對外暴露了一組細粒度的服務。客戶端的請求可能會涉及到一串的服務調用,如果將這些微服務都暴露給客戶端,那么會增加客戶端代碼的復雜度。

參考GOF設計模式中的Facade模式,將細粒度的服務組合起來提供一個粗粒度的服務,所有請求都導入一個統一的入口,那么整個服務只需要暴露一個api,對外屏蔽了服務端的實現細節,也減少了客戶端與服務器的網絡調用次數。這就是api gateway。

有了api gateway之后,一些與業務關系并不大的通用處理邏輯可以從api gateway中剝離出來,api gateway僅僅負責服務的編排與結果的組裝。

Spring Cloud Netflix的Zuul組件可以做反向代理的功能,通過路由尋址將請求轉發到后端的粗粒度服務上,并做一些通用的邏輯處理。

2.Zuul 能做什么

Zuul可以通過加載動態過濾機制,從而實現以下各項功能:

驗證與安全保障: 識別面向各類資源的驗證要求并拒絕那些與要求不符的請求。

審查與監控: 在邊緣位置追蹤有意義數據及統計結果,從而為我們帶來準確的生產狀態結論。

動態路由: 以動態方式根據需要將請求路由至不同后端集群處。

壓力測試: 逐漸增加指向集群的負載流量,從而計算性能水平。

負載分配: 為每一種負載類型分配對應容量,并棄用超出限定值的請求。

靜態響應處理: 在邊緣位置直接建立部分響應,從而避免其流入內部集群。

多區域彈性: 跨越AWS區域進行請求路由,旨在實現ELB使用多樣化并保證邊緣位置與使用者盡可能接近。

3.Zuul的核心

Filter是Zuul的核心,用來實現對外服務的控制。Filter的生命周期有4個,分別是“PRE”、“ROUTING”、“POST”、“ERROR”,整個生命周期可以用下圖來表示。

Zuul是什么

Zuul大部分功能都是通過過濾器來實現的,這些過濾器類型對應于請求的典型生命周期。

PRE: 這種過濾器在請求被路由之前調用。我們可利用這種過濾器實現身份驗證、在集群中選擇請求的微服務、記錄調試信息等。

ROUTING:這種過濾器將請求路由到微服務。這種過濾器用于構建發送給微服務的請求,并使用Apache HttpClient或Netfilx Ribbon請求微服務。

POST:這種過濾器在路由到微服務以后執行。這種過濾器可用來為響應添加標準的HTTP Header、收集統計信息和指標、將響應從微服務發送給客戶端等。

ERROR:在其他階段發生錯誤時執行該過濾器。 除了默認的過濾器類型,Zuul還允許我們創建自定義的過濾器類型。例如,我們可以定制一種STATIC類型的過濾器,直接在Zuul中生成響應,而不將請求轉發到后端的微服務。

Zuul中默認實現的Filter

Zuul是什么

4.怎么使用Zuul

Spring Cloud Zuul路由是微服務架構的不可或缺的一部分,提供動態路由,監控,彈性,安全等的邊緣服務。Zuul是Netflix出品的一個基于JVM路由和服務端的負載均衡器。

下面我們通過代碼來了解Zuul是如何工作的

1.簡單使用

1、添加依賴

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>

引入spring-cloud-starter-zuul包

2、配置文件

spring.application.name=gateway-service-zuul
server.port=8888
#這里的配置表示,訪問/it/** 直接重定向到http://www.ityouknow.com/**
zuul.routes.baidu.path=/it/**
zuul.routes.baidu.url=http://www.ityouknow.com/

3、啟動類

@SpringBootApplication
@EnableZuulProxy
public class GatewayServiceZuulApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(GatewayServiceZuulApplication.class, args);
    }
}

啟動類添加@EnableZuulProxy,支持網關路由。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Zuul是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

祥云县| 高青县| 平安县| 达拉特旗| 北票市| 鹤庆县| 江口县| 奉节县| 东平县| 西和县| 泗水县| 南投市| 公主岭市| 尼木县| 桃园县| 哈尔滨市| 岑巩县| 平凉市| 正宁县| 秀山| 剑川县| 汽车| 垣曲县| 台北县| 比如县| 阳春市| 汪清县| 吉安县| 荃湾区| 桐梓县| 五常市| 巴中市| 延庆县| 广饶县| 泽库县| 富裕县| 耒阳市| 观塘区| 乌兰察布市| 海林市| 综艺|