首页
/
每日頭條
/
圖文
/
springcloud gateway管理界面
springcloud gateway管理界面
更新时间:2025-12-21 20:40:51

前言

“網關(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
推荐阅读
十三種口味任你選擇
十三種口味任你選擇
SPRING沒有青團的春天是不完整的如果隻能選一樣食物代表春天那必須是青團這隻油光閃閃的“綠胖子”外披春綠、内裹香甜以瑩潤如玉之相從一衆糕點中脫穎而出引得無數食客“唇唇欲動”染盡旖旎風情它為春天而生每一口都是春光之色每年青團子上市的時候,都...
2025-12-21
初心未變一如既往
初心未變一如既往
央視網消息(新聞聯播):在黨的二十大的代表中,既有青春活力的年輕代表,也有不少黨齡超過40年的老黨員。中國工程院院士朱有勇有41年的黨齡,國家菌草研究中心的首席科學家林占熺已經光榮入黨56年了,他們在祖國的山鄉田野書寫論文,在鄉村振興第一線...
2025-12-21
舟字的古體字
舟字的古體字
舟·[zhōu]象形字,就像是一條小船,兩條長線是船幫,中間的幾條短線表示船頭或船尾。“舟”的本義是指獨木小舟。◎說文解字◎《說文解字·舟部》舟:船也。古者,共鼓、貨狄。......象形。段玉裁注:古人言舟,漢人言船。......共鼓、貨狄...
2025-12-21
歐萊雅紫熨鬥眼霜适合的年齡
歐萊雅紫熨鬥眼霜适合的年齡
之前就被種草的歐萊雅紫熨鬥!身邊的小姐妹都在用它!我收到後就驚呆了!30m!?這性價比也忒高了吧!真是好大一管子!不僅僅可以作為眼霜,全臉都可以使用喔。最近晩上我還會拿來抹脖子,真的太經用了,已經被我用癟了當然最初我也不是盲目入手的。作為一...
2025-12-21
金兀術和呼延灼誰厲害
金兀術和呼延灼誰厲害
一部《說嶽全傳》演繹了無數的精彩故事,這部堪比《隋唐演義》的傳奇經典,也造就了衆多英雄之間的實力熱議,陸文龍、楊繼周與高寵到底誰更強,細讀之下還是能夠找出一些端倪的。而評書《嶽飛傳》也曾經傳遍五湖四海,相比之下的英雄們有着更多的細膩之處,這...
2025-12-21
Copyright 2023-2025 - www.tftnews.com All Rights Reserved