您好,登錄后才能下訂單哦!
這篇文章主要介紹了網(wǎng)關(guān)gateway原理的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
負(fù)責(zé)服務(wù)請(qǐng)求路由、組合及協(xié)議轉(zhuǎn)換,并且基于 Filter 鏈的方式提供了權(quán)限認(rèn)證,監(jiān)控、限流等功能。
優(yōu)點(diǎn):
性能強(qiáng)勁:是第一代網(wǎng)關(guān)Zuul的1.6倍。
功能強(qiáng)大:內(nèi)置了很多實(shí)用的功能,例如轉(zhuǎn)發(fā)、監(jiān)控、限流等設(shè)計(jì)優(yōu)雅,容易擴(kuò)展。
缺點(diǎn):
依賴Netty與WebFlux(Spring5.0),不是傳統(tǒng)的Servlet編程模型(Spring MVC就是基于此模型實(shí)現(xiàn)),學(xué)習(xí)成本高。需要Spring Boot 2.0及以上的版本,才支持
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency>
server:
port: 9000
spring:
application:
name: sca-gateway
cloud:
gateway:
routes: #配置網(wǎng)關(guān)路由規(guī)則
- id: route01 #路由id,自己指定一個(gè)唯一值即可
uri: http://localhost:8081/ #網(wǎng)關(guān)幫我們轉(zhuǎn)發(fā)的url
predicates: ###斷言(謂此):匹配請(qǐng)求規(guī)則
- Path=/nacos/provider/echo/** #請(qǐng)求路徑定義,此路徑對(duì)應(yīng)uri中的資源
filters: ##網(wǎng)關(guān)過濾器,用于對(duì)謂詞中的內(nèi)容進(jìn)行判斷分析以及處理
- StripPrefix=1 #轉(zhuǎn)發(fā)之前去掉path中第一層路徑,例如nacos
表示一個(gè)具體的路由信息載體。
主要定義了下面的幾個(gè)信息:
id
,路由標(biāo)識(shí)符,區(qū)別于其他 Route。
uri
,路由指向的目的地 uri,即客戶端請(qǐng)求最終被轉(zhuǎn)發(fā)到的微服務(wù)。
predicate
,斷言(謂詞)的作用是進(jìn)行條件判斷,只有斷言都返回真,才會(huì)執(zhí)行路由。
filter
,過濾器用于修改請(qǐng)求和響應(yīng)信息。
服務(wù)訪問(流量)的一個(gè)入口,類似生活中的“海關(guān)“
服務(wù)安全,統(tǒng)一服務(wù)入口管理,負(fù)載均衡,限流,鑒權(quán)
Spring Cloud Gateway 應(yīng)用的初始構(gòu)建過程(添加依賴,配置
Netty網(wǎng)絡(luò)編程框架-ServerSocket
不一定,可以直接通過遠(yuǎn)端url進(jìn)行服務(wù)訪問
需要的porm文件是nacos的配置和包,是通過nacos配置中心,尋找實(shí)例。
通過服務(wù)名去查找具體的服務(wù)實(shí)例
Ribbon
輪詢,權(quán)重,hash,……可通過IRule接口進(jìn)行查看分析
XxxHandlerMapping,Handler,。。。
謂詞-path,…,服務(wù)名/服務(wù)實(shí)例
通過map,并要考慮讀寫鎖的應(yīng)用
下圖是定義在網(wǎng)關(guān)層面定義全局過濾器
第一:統(tǒng)一微服務(wù)訪問的入口,
第二:對(duì)系統(tǒng)服務(wù)進(jìn)行保護(hù),
第三進(jìn)行統(tǒng)一的認(rèn)證,授權(quán),限流
Netifix Zuul,Spring Cloud Gateway,…
添加依賴,路由配置,啟動(dòng)類
網(wǎng)關(guān)服務(wù)注冊(cè),服務(wù)的發(fā)現(xiàn),基于uri:lb://服務(wù)id方式訪問具體服務(wù)實(shí)例
掌握常用幾個(gè)就可,用時(shí)可以通過搜索引擎去查
掌握過濾器中的兩大類型-局部和全局
Sentinel
nginx->gateway–>微服務(wù)–>微服務(wù)
Ribbon
路由id,路由uri,斷言,過濾器
after,header,path,cookie,…
添加前綴,去掉前綴,添加請(qǐng)求頭,…,負(fù)載均衡,…
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“網(wǎng)關(guān)gateway原理的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。