首页
/
每日頭條
/
圖文
/
springcloud gateway管理界面
springcloud gateway管理界面
更新时间:2024-11-18 07:25:14

前言

“網關(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
推荐阅读
劣質牆紙有哪些有害物質
劣質牆紙有哪些有害物質
液态牆紙好不好?液态牆紙的優點有哪些呢?許多人拿它來裝修卧室,但是畢竟是液态的材質,也不知道會不會有有害物質?下面我們就一起來看看液态牆紙好不好以及液态牆紙有毒嗎?液态牆紙光澤度好采用最新高科技術和獨特的材料,做出的圖案不僅色彩均勻、圖案完...
2024-11-18
索尼微單現在一共幾款
索尼微單現在一共幾款
說起微單,就不能不提索尼。索尼過去多年一直都是微單行業的領頭羊,不過近兩年随着佳能和尼康不斷在微單領域發力,索尼在微單領域的優勢慢慢縮小。不過老話說,瘦死的駱駝比馬大,雖然這兩年索尼進步沒有尼康和佳能那麼明顯,但是憑借多年雄厚的技術積累,索...
2024-11-18
如何為建設海南自由貿易港做貢獻
如何為建設海南自由貿易港做貢獻
如何為建設海南自由貿易港做貢獻?中國經濟導報、中國發展網訊:近日,就聚焦“新理念新跨越新格局——推進更高水平全面開放的新挑戰與新未來”主題,海南省委政策研究室副主任、中國人民大學教授羅來軍表示,自由貿易港是當今世界最高水平的開放形态海南建設...
2024-11-18
生态養豬實用技術大全
生态養豬實用技術大全
随着大城市發展飽和,很多農民回歸農村,開始土生土長的生活環境搞起來養殖。關于近幾年豬肉價格,一直居高不下,促使很多農民回家開始養豬,但由于飼養技術并不科學,造成了一部分經濟損失,那麼如何科學養豬呢?你需要注意這三點:養豬第一,選擇優質種豬優...
2024-11-18
雅芳沒落的原因
雅芳沒落的原因
雅芳隕落了,已是不争的事實!據了解,雅芳交涉的私募股權公司曾以私人投資公開股票的方式競購雅芳公司的股份,兩家公司分别為擅長處理不良資産的美國私募公司Cerberus和PlatinumEquity公司,截至目前仍沒有機構表示對接盤雅芳有興趣,...
2024-11-18
Copyright 2023-2024 - www.tftnews.com All Rights Reserved