首页
/
每日頭條
/
圖文
/
springcloud gateway管理界面
springcloud gateway管理界面
更新时间:2026-06-20 23:28:18

前言

“網關(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
推荐阅读
原神冰套聖遺物副本怎麼刷
原神冰套聖遺物副本怎麼刷
原神冰套聖遺物副本怎麼刷?遊戲原神中,首先冰套聖遺物副本,入口就在龍嵴雪山的芬德尼爾之頂位置,大家在探索雪山的過程中,一定要記得去對應區域位置解鎖這個秘境除了冰套聖遺物外,水套也在裡面,我來為大家科普一下關于原神冰套聖遺物副本怎麼刷?以下内...
2026-06-20
怎樣制作微信表情包動态的并使用
怎樣制作微信表情包動态的并使用
怎樣制作微信表情包動态的并使用?關注職場辦公,分享實用幹貨,洞察科技資訊,這裡是「職場科技範」,下面我們就來聊聊關于怎樣制作微信表情包動态的并使用?接下來我們就一起去了解一下吧!怎樣制作微信表情包動态的并使用關注職場辦公,分享實用幹貨,洞察...
2026-06-20
老人與海勵志作品讀後感
老人與海勵志作品讀後感
這本書叫老人與海,但其中還包括海明威的一些短篇小說。老人與海的主人公是一名叫聖地亞哥的老漁夫,他在過去的八十四天内都沒有釣到魚,但他不認輸,第八十五天,繼續充滿活力的出海垂釣,終于掉到一條大馬林魚,缺沒有精力把他弄上船來,因為這條魚太大了。...
2026-06-20
lol新版猴子連招
lol新版猴子連招
要問LOL的玩家最喜歡玩什麼特殊模式,那一定是無限火力,無限火力中玩家們可以随心所欲的放技能,沒有藍量消耗,技能冷卻也非常快,可以說不是在打架就是在打架的路上。而美測服無限亂鬥已經上線,國服預計在8月26号開啟無限亂鬥模式,無限亂鬥跟無限火...
2026-06-20
海正新材上市的目标
海正新材上市的目标
海正新材上市的目标?來源:中國經濟網中國經濟網北京7月25日訊創業闆上市委2021年第42次審議會議于7月23日召開,審議結果顯示,江蘇新視雲科技股份有限公司(以下簡稱“新視雲”)首發符合發行條件、上市條件和信息披露要求這是今年過會的第23...
2026-06-20
Copyright 2023-2026 - www.tftnews.com All Rights Reserved