1.GateWay是什么
概述
Cloud全家桶中有個很重要的組件就是網關,在1.x版本中都是采用的Zuul網關;
但在2.x版本中,zuul的升級一直跳票,SpringCloud最后自己研發了一個網關替代Zuul,那就是SpringCloud Gateway—句話:gateway是原zuul1.x版的替代
Gateway是在Spring生態系統之上構建的API網關服務,基于Spring 5,Spring Boot 2和Project Reactor等技術。
Gateway旨在提供一種簡單而有效的方式來對API進行路由,以及提供一些強大的過濾器功能,例如:熔斷、限流、重試等。
SpringCloud Gateway是Spring Cloud的一個全新項目,基于Spring 5.0+Spring Boot 2.0和Project Reactor等技術開發的網關,它旨在為微服務架構提供—種簡單有效的統一的API路由管理方式。
SpringCloud Gateway作為Spring Cloud 生態系統中的網關,目標是替代Zuul,在Spring Cloud 2.0以上版本中,沒有對新版本的Zul 2.0以上最新高性能版本進行集成,仍然還是使用的Zuul 1.x非Reactor模式的老版本。而為了提升網關的性能,SpringCloud Gateway是基于WebFlux框架實現的,而WebFlux框架底層則使用了高性能的Reactor模式通信框架Netty。
Spring Cloud Gateway的目標提供統一的路由方式且基于 Filter鏈的方式提供了網關基本的功能,例如:安全,監控/指標,和限流。
作用
方向代理
鑒權
流量控制
熔斷
日志監控
微服務架構中網關的位置
2.配置Getway創建子工程:cloud-getway-getway9527
3.pom文件添加如下:
<dependencies><!--gateway--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--引入自定義的api通用包,可使用Payment支付Entity--><dependency><groupId>com.yxw.springcloud</groupId><artifactId>cloud-api-commons</artifactId><version>${project.version}</version></dependency><!--一般基礎配置類--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
4.yml文件添加如下:
server:port:9527spring:application:name:cloud-gatewaycloud:nacos:discovery:server-addr:localhost:8848gateway:discovery:locator:enabled:true#開啟從注冊中心動態創建路由的功能,利用微服務名進行路由routes:-id:payment_routh#payment_routh#路由的ID,沒有固定規則但要求唯一,簡易配合服務名uri:http://localhost:8001#匹配后提供服務的路由地址#uri:lb://cloud-provider-service#匹配后提供服務的路由地址predicates:-Path=/payment/get/**#斷言,路徑相匹配的進行路由-id:payment_routh3#payment_routh#路由的ID,沒有固定規則但要求唯一,簡易配合服務名uri:http://localhost:8001#匹配后提供服務的路由地址#uri:lb://cloud-provider-service#匹配后提供服務的路由地址predicates:-Path=/payment/lb/**#斷言,路徑相匹配的進行路由
5.啟動類:
@SpringBootApplication@EnableDiscoveryClientpublicclassGetwayApplication{publicstaticvoidmain(String[]args){SpringApplication.run(GetwayApplication.class,args);}}
6.啟動服務并訪問:http://localhost:9527/payment/get/1
配置動態路由
在yml修改如下:
server:port:9527spring:application:name:cloud-gatewaycloud:nacos:discovery:server-addr:localhost:8848gateway:discovery:locator:enabled:true#開啟從注冊中心動態創建路由的功能,利用微服務名進行路由routes:-id:payment_routh#payment_routh#路由的ID,沒有固定規則但要求唯一,簡易配合服務名#uri:http://localhost:8001#匹配后提供服務的路由地址uri:lb://cloud-provider-service#匹配后提供服務的路由地址predicates:-Path=/payment/get/**#斷言,路徑相匹配的進行路由-id:payment_routh3#payment_routh#路由的ID,沒有固定規則但要求唯一,簡易配合服務名#uri:http://localhost:8001#匹配后提供服務的路由地址uri:lb://cloud-provider-service#匹配后提供服務的路由地址predicates:-Path=/payment/lb/**#斷言,路徑相匹配的進行路由
再次訪問:http://localhost:9527/payment/get/1
需要注意的是uri的協議為lb,表示啟用Gateway的負載均衡功能。
lb://serviceName是spring cloud gateway在微服務中自動為我們創建的負載均衡uri。
到此,相信大家對“搭建spring cloud alibaba微服務GetWay的方法步驟”有了更深的了解,不妨來實際操作一番吧!這里是本站網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
招商銀行小額信貸其實就是招商銀行小額信用貸款,招商銀行小額貸款分為招商銀行小額質押貸款和招商銀行小額信用貸款兩種,那么,招商銀行小額貸款好申請么?招商銀行小額貸款需要什么條件?一起來看看吧!招商銀行小額貸款好申請么?符合借款條件的用戶申請招商銀行借款相對來說還是容易借的,可以通過招行小額貸款業務、閃電貸、信用卡等方式申請貸款。招商銀行不同方式的貸款申請方式也不一樣:1.如果選擇小額貸款業務可以持本...
(資料圖片僅供參考)有關如何查找QQ飛車車隊方面的知識,估計很多人不是太了解,今天就給大家詳細的介紹一下關于如何查找QQ飛車車隊的相關內容。查找QQ飛車車隊的方法:1、打開QQ飛車,首先點擊信息卡片中的個人信息選項。2、然后在信息窗口的上半部分點擊車隊選項。3、點擊之后,即可查看車隊的名字、隊長、積分、點數與簡介等信息。4、把鼠標放到車隊積分的數字上可以看到車隊的名次。5、查看自己或別人的qq飛車...
(資料圖片僅供參考)最近小編看到大家都在討論斗魚第二部講的什么啊相關的事情,對此呢小編也是非常的感應興趣,那么這件事究竟是怎么發生的呢?具體又是怎么回事呢?下面就是小編搜索到的關于斗魚第二部講的什么啊事件的相關信息,我們一起來看一下吧!《斗魚2》描述的是《斗魚》中單子入獄后的四年光陰,在單子殺了阿豹派去強暴語燕的手下而入獄后,眾人的生活都有了改變。語燕為了讓自己不再是于皓的包袱,努力擺脫過去嬌弱的...