首页
/
每日頭條
/
圖文
/
springcloud gateway管理界面
springcloud gateway管理界面
更新时间:2025-12-05 17:36:54

前言

“網關(Gateway)又稱網間連接器、協議轉換器。網關在網絡層以上實現網絡互連,是複雜的網絡互連設備,僅用于兩個高層協議不同的網絡互連。

那麼在微服務架構體系中,服務的粒度往往被分得很細,這樣各個服務模塊之間可以被獨立地設計、開發、測試、部署以及管理。各個獨立部署單元可以用不同的開發測試團隊維護,可以使用不同的編程語言和技術平台進行設計,那麼這時候就需要使用一種語言和平台無關的服務協議作為各個單元間的通訊方式。這就是微服務架構體系中的網關。

什麼是服務網關

服務網關可以統一服務的入口,可方便實現對平台衆多服務接口進行管控,對訪問服務進行身份校驗、防報文重發以及數據的篡改,響應數據的脫敏、流量的并發控制以及基于API調用的計量或者計費、 實現請求路由轉發以及請求過程的負載均衡等等場景。可以将服務網關理解為路由器和過濾器的組合。

所以總結下網關可以實現請求的路由轉發以及對于服務器的統一管理,對于大部分冗餘或者通用代碼的處理(比如權限、流量監控、限流等等)。

網關組件在微服務架構中的 使用如下:

springcloud gateway管理界面(SpringCloud系列服務網關組件Gateway)1

常見的服務網關組件

常見的服務網關組件有很多,比如:Nginx Lua、Traefik、Kong、spring cloud Netflix Zuul、Spring Cloud Gateway。其中Zuul和GeteWay則是目前使用較多的網關組件。

Zuul 是 Netflix 開源的一個API網關組件,SpringCloud對其進行二次基于SpringBoot注解式封裝做到開箱即用,并且它融合于SpringCloud 完整生态,可以和 Eureka、Ribbon、Hystrix 等組件配合使用。所以是構建微服務體系前置網關服務的最佳選型之一。Zuul是從設備和網站到Netflix流媒體應用程序後端所有請求的前門,作為一個邊緣服務的應用,zuul被構建為支持動态路由、監視、彈性和安全性。

目前zuul組件已經更新到了2.0版本,并且2.0版本開始支持異步調用模式,但是作為springcloud官方雖然依然支持2.0,但是不再推薦使用2.0版本。

Spring Cloud Gateway是Spring Cloud的一個全新的API網關項目,它基于Spring5.0 SpringBoot2.0 WebFlux(基于⾼性能的Reactor模式響應式通信框架Netty,異步⾮阻塞模型)等技術開發,性能⾼于Zuul,官⽅測試,Spring Cloud GateWay是Zuul的1.6倍,它作為Spring Cloud生态系統中的網關,它的目标是替代Zuul,其不僅是提供統一的路由方式,并且還基于Filter鍊的方式提供了網關的基本功能。spring cloud geteway目的是提供一種簡單有效的方法來路由到API,并為api提供橫切關注點,比如安全性、監控、度量、彈性。

Spring Cloud Gateway可以與Spring Cloud Discovery Client(如Eureka)、Ribbon、Hystrix等組件配合使用,實現路由轉發、負載均衡、熔斷、鑒權、路徑重寫、⽇志監控等,并且Gateway還内置了限流過濾器,實現了限流的功能。

Gateway網關的使用

使用gateway網關首先需要和其他的項目一樣,創建一個簡單的springboot應用,并且引入需要用到的相關依賴。創建了對應的項目之後,需要引入的具體依賴如下,除了常見的依賴,這裡需要額外引入的是gateway依賴:

<dependencies> <!--引入consul依賴,用于服務注冊發現--> <!--Consul Discovery--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> <!--引入健康檢查的依賴,用于健康檢查監控--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- 引入gateway依賴--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> </dependencies>

項目入口類型如下:

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

啟動兩個對應的springboot項目,這時候如果調用對應的接口,浏覽器地址如下:

springcloud gateway管理界面(SpringCloud系列服務網關組件Gateway)2

springcloud gateway管理界面(SpringCloud系列服務網關組件Gateway)3

如果使用gateway進行路由轉發,則隻需要在配置文件中配置對應的路由規則即可,路由配置如下:

server: port: 9010 spring: application: name: gateway cloud: consul: host: localhost port: 8500 gateway: routes: - id: product_router #路由對象唯一标識 uri: http://localhost:8087 #用來類别服務地址 http://localhost:8087/product predicates: #斷言 用來配置路由規則 - Path=/product - id: customer_router #路由對象唯一标識 uri: http://localhost:8085 #用來類别服務地址 http://localhost:8087/customer predicates: #斷言 用來配置路由規則 - Path=/customer

這時候無論調用什麼接口,則統一的端口号都是gateway配置中的9010即可:

springcloud gateway管理界面(SpringCloud系列服務網關組件Gateway)4

springcloud gateway管理界面(SpringCloud系列服務網關組件Gateway)5

總結

以上就是微服務中服務網關的簡單介紹以及gateway服務網關的使用。gateway相當于所有服務的門戶,将客戶端請求與服務端應用相分離,客戶端請求通過gateway後由定義的路由和斷言進行轉發,路由代表需要轉發請求的地址,斷言相當于請求這些地址時所滿足的條件,隻有同時符合路由和斷言才給予轉發。

後續将對gateway使用的細節以及一些使用中的注意事項進行學習分享

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
新房有怪響原因是個謎
新房有怪響原因是個謎
房子是一個人生存,最基本的保障,往往好的睡眠質量,也和房子結構環境脫不開關系!如果當你入住的房子,總會在夜深人靜的時候,發出莫名其妙的怪聲,你是否還有勇氣住下去?這些怪聲又是從何而來的呢?深夜想必不少看文的朋友,或多或少都有經曆過,深夜的時...
2025-12-05
率土之濱各州城池彙總
率土之濱各州城池彙總
率土之濱各州城池彙總?振臂呼,兄弟奮勇向前;提筆渲,率土生動呈現各位看官姥爺們大家好,我是及時雨,一個馳騁在率土之濱的美男子,接下來我們就來聊聊關于率土之濱各州城池彙總?以下内容大家不妨參考一二希望能幫到您!率土之濱各州城池彙總振臂呼,兄弟...
2025-12-05
雲頂之弈最新版金克斯怎麼出裝
雲頂之弈最新版金克斯怎麼出裝
很多人都喜歡玩刺客陣容,但是這個陣容是有限的,本身卡牌就那麼多,特别是在前期的時候,如果賭錯了,那就是滿盤皆輸的結果,因為自己的陣容四不像。也有人會采用雙龍玩法,但是我們何不選擇更簡單的玩法,并且還很強力,那就是槍和劍的玩法,一般是6把劍和...
2025-12-05
全國數學優秀作業設計一等獎作品
全國數學優秀作業設計一等獎作品
3分鐘看這份一等獎音樂作業設計,容易獲獎!設計理念:·本次音樂作業的設計盡可能的運用多種音樂實踐形式,遵循因材施教的理念,促進學生的個性化成長加強學生對音樂感受能力和表達能力,提高學生音樂練習的積極性和興趣。内容依據:羅本次作業内容是依據音...
2025-12-05
山水畫題詩500首
山水畫題詩500首
山水畫題詩500首?《山谷幽居圖》《山中人家》《清溪獨釣》《柏舟》《問墨溪山》《意筆溪山》《泠泠清泉深壑間》《觀道》《觀道》《坐觀雲濤》《卧雲聽泉》《雲水間》《雲煙如夢》《佛視》《雲閑圖》《雲山圖》《溪山山色圖》《溪山秋思》《溪山秋色》《溪...
2025-12-05
Copyright 2023-2025 - www.tftnews.com All Rights Reserved