首页
/
每日頭條
/
圖文
/
springcloud gateway管理界面
springcloud gateway管理界面
更新时间:2025-11-28 17:18:32

前言

“網關(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
推荐阅读
睡前運動操瘦腿(睡前15秒瘦大腿操輕松燃脂)
睡前運動操瘦腿(睡前15秒瘦大腿操輕松燃脂)
  睡前15秒瘦大腿操輕松燃脂   大腿好難瘦?大腿是很多女生公認最難減的位置,鏟除肥厚馬鞍肉、松垮大腿肉,天天做瘦腿操,2步驟就能燃燒深層脂肪,幫助鍛煉腿部肌肉!      繁忙的日常生活之中,總為了家庭、工作以及育兒等等蠟燭多頭燒,天天長時間在辦公室裡前傾盯着電腦,或是久站服務客人,導緻雖然身心疲勞,身體卻因為缺乏活動而血液循環不良,再加上不敵歲月流逝,...
2025-11-28
山東93歲父親(思念父親山東劉永)
山東93歲父親(思念父親山東劉永)
  #春日生活打卡季#   思念父親 文/山東 劉永 爹的脾氣不好 ,不光我知道,哥知道,小妹知道,就連娘的幾個兒媳也知道一些情況,最清楚的是俺娘。   娘總是忍氣吞聲,一輩了承受了太多太多的委屈。但是娘依然對爹非常好,慣着爹。   六七十年代,貧窮都貧窮,娘烙地瓜幹子煎餅時,總是 用水瓢和點面烙幾個面煎餅,藏在放地 瓜幹子煎餅大盆最底下,專門給爹吃。   ...
2025-11-28
将士為什麼跟着安祿山謀反(安祿山怒責顔杲卿背叛)
将士為什麼跟着安祿山謀反(安祿山怒責顔杲卿背叛)
  唐鸩(之五)   常山失守之後,顔杲卿和袁履謙被叛軍押往洛陽,安祿山斥責顔杲卿道:“你從前隻是範陽一個戶曹,因為我的舉薦,幾年之間做到了太守,你為什麼還要背叛我?”   顔杲卿罵道:“你本是一個放羊的羯奴,皇上提拔你做了三道節度使,恩幸無比,你為什麼謀反?我家世代為唐臣,食唐俸祿,從前受過你的保薦,難道就要和你一起謀反?我是為國讨賊,隻恨沒能殺了你,哪來...
2025-11-28
養老生活别提有多舒心(養老生活越過越甜)
養老生活别提有多舒心(養老生活越過越甜)
     9月19日,鄭州市金水區梓聞社會工作服務中心的社工陪伴老人練習書法。本報記者 王铮 攝   □本報記者 王向前   今年10月1日,《河南省養老服務條例》(以下簡稱《條例》)将施行。為貫徹實施好《條例》,9月23日,省政府新聞辦舉行新聞發布會,發布河南養老服務發展願景。   疏通“堵點”,《條例》肩負重大責任   我省60歲以上人口1796萬人,占...
2025-11-28
殺顔真卿最兇的人是誰(博物雜志編輯居然稱)
殺顔真卿最兇的人是誰(博物雜志編輯居然稱)
  【博物雜志編輯居然稱“看顔杲卿被殺很過瘾” 結果被停職處理】博物雜志編輯稱,“小時候看顔杲卿被殺的故事覺得很過瘾。”言論近日引起網民輿論。北京時間15日下午,“博物雜志”也在微博公布針對董子凡的處理意見,稱已經嚴厲批評,董子凡将停職反省。      版權聲明:如涉及版權問題,請作者持權屬證明與本網聯系   ,
2025-11-28
Copyright 2023-2025 - www.tftnews.com All Rights Reserved