国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Cloud Gateway過(guò)濾器GlobalFilter詳解

這篇具有很好參考價(jià)值的文章主要介紹了Spring Cloud Gateway過(guò)濾器GlobalFilter詳解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、過(guò)濾器的場(chǎng)景

在springCloud架構(gòu)中,網(wǎng)關(guān)是必不可少的組件,它用于服務(wù)路由的轉(zhuǎn)發(fā)。對(duì)客戶(hù)端進(jìn)行屏蔽微服務(wù)的具體細(xì)節(jié),客戶(hù)端只需要和網(wǎng)關(guān)進(jìn)行交互。所以網(wǎng)關(guān)顧名思義,就是網(wǎng)絡(luò)的一個(gè)關(guān)卡。它就是一座城的城門(mén)守衛(wèi)。所以這個(gè)守衛(wèi)就可以做很多工作,比如對(duì)來(lái)訪者身份的認(rèn)證,盤(pán)查等。最后才是放行。所以在微服務(wù)開(kāi)發(fā)中,我們可以在這一層做過(guò)濾器,這是非常好的場(chǎng)景。

Spring Cloud Gateway過(guò)濾器GlobalFilter詳解,java,java

二、 GatewayFilter與GlobalFilter

Spring Cloud Gateway 根據(jù)作用范圍劃分為 GatewayFilter 和 GlobalFilter,二者區(qū)別如下:

  1. GatewayFilter : 需要通過(guò)spring.cloud.routes.filters 配置在具體路由下,只作用在當(dāng)前路由上或通過(guò)spring.cloud.default-filters配置在全局,作用在所有路由上。
  2. GlobalFilter : 不需要在配置文件中配置,作用在所有的路由上,最終通過(guò)GatewayFilterAdapter包裝成GatewayFilterChain可識(shí)別的過(guò)濾器,它為請(qǐng)求業(yè)務(wù)以及路由的URI轉(zhuǎn)換為真實(shí)業(yè)務(wù)服務(wù)的請(qǐng)求地址的核心過(guò)濾器,不需要配置,系統(tǒng)初始化時(shí)加載,并作用在每個(gè)路由上。

GlobalFilter應(yīng)用

@Component
public class TestGlobalFilter implements GlobalFilter, Ordered {

	@Override
	public int getOrder() {
		return 0;
	}

	@Override
	public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {

		ServerHttpRequest request = exchange.getRequest();
		
		ServerHttpResponse response = exchange.getResponse();
		
		//獲取url
		String path = request.getURI().getPath();
		//獲取請(qǐng)求頭中信息
		String source =  request.getHeaders().getFirst("source");
		
		//做一些動(dòng)作和業(yè)務(wù)
		
		return chain.filter(exchange);
	}

}

Spring Gateway是一個(gè)基于Spring Boot的API網(wǎng)關(guān),用于構(gòu)建微服務(wù)架構(gòu)的應(yīng)用程序。它提供了一種簡(jiǎn)單而靈活的方式來(lái)路由和管理API請(qǐng)求,并提供了一些額外的功能,如安全、監(jiān)控和動(dòng)態(tài)路由。以下是關(guān)于Spring Gateway的詳細(xì)解釋?zhuān)?/p>

一、概述

Spring Gateway是Spring Cloud生態(tài)系統(tǒng)中的一部分,旨在提供一個(gè)易于使用和集成的API網(wǎng)關(guān)解決方案。它基于Spring Boot框架構(gòu)建,使用Java編寫(xiě),因此可以與現(xiàn)有的Spring應(yīng)用程序無(wú)縫集成。通過(guò)使用Spring Gateway,開(kāi)發(fā)人員可以輕松地構(gòu)建具有高度可擴(kuò)展性和可維護(hù)性的微服務(wù)應(yīng)用程序。

二、核心功能

  1. 路由管理:Spring Gateway的核心功能是路由管理,它允許開(kāi)發(fā)人員定義一系列的路由規(guī)則,根據(jù)不同的條件將API請(qǐng)求路由到不同的微服務(wù)。開(kāi)發(fā)人員可以使用簡(jiǎn)單的條件表達(dá)式或斷言來(lái)定義路由規(guī)則,例如基于URL路徑、請(qǐng)求頭、參數(shù)等進(jìn)行匹配。
  2. 動(dòng)態(tài)路由:Spring Gateway支持動(dòng)態(tài)路由,這意味著開(kāi)發(fā)人員可以根據(jù)運(yùn)行時(shí)的條件動(dòng)態(tài)地更改路由規(guī)則。例如,根據(jù)用戶(hù)的身份驗(yàn)證狀態(tài)或請(qǐng)求的上下文信息來(lái)動(dòng)態(tài)決定請(qǐng)求的路由。
  3. 過(guò)濾器鏈:Spring Gateway允許開(kāi)發(fā)人員定義一系列的過(guò)濾器鏈,用于在請(qǐng)求到達(dá)目標(biāo)微服務(wù)之前進(jìn)行預(yù)處理和后處理。過(guò)濾器鏈可以用于實(shí)現(xiàn)各種功能,如身份驗(yàn)證、授權(quán)、限流、日志記錄等。
  4. 集成斷言:Spring Gateway集成了許多斷言,這些斷言可用于定義路由規(guī)則和過(guò)濾器鏈的條件。常見(jiàn)的斷言包括Path、Header、Cookie、Query等。
  5. 響應(yīng)處理:Spring Gateway支持對(duì)API請(qǐng)求的響應(yīng)進(jìn)行自定義處理。開(kāi)發(fā)人員可以使用ResponseSpec對(duì)象來(lái)自定義響應(yīng)的狀態(tài)碼、頭部信息和正文內(nèi)容。
  6. 健康檢查和監(jiān)控:Spring Gateway提供了開(kāi)箱即用的健康檢查和監(jiān)控功能,可以輕松地與現(xiàn)有的監(jiān)控系統(tǒng)集成。通過(guò)暴露特定的端點(diǎn),開(kāi)發(fā)人員可以獲取網(wǎng)關(guān)的健康狀態(tài)和性能指標(biāo)。
  7. 動(dòng)態(tài)配置:Spring Gateway支持動(dòng)態(tài)配置,這意味著開(kāi)發(fā)人員可以在運(yùn)行時(shí)更改路由規(guī)則和過(guò)濾器鏈的定義,而無(wú)需重啟應(yīng)用程序。這為開(kāi)發(fā)人員提供了更大的靈活性,并加快了開(kāi)發(fā)周期。

三、使用場(chǎng)景文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-631338.html

  1. API網(wǎng)關(guān):Spring Gateway可以作為API網(wǎng)關(guān)使用,將多個(gè)微服務(wù)暴露為一個(gè)統(tǒng)一的入口點(diǎn)。通過(guò)路由管理,開(kāi)發(fā)人員可以定義規(guī)則將請(qǐng)求路由到正確的微服務(wù),并處理跨多個(gè)服務(wù)的調(diào)用。
  2. 流量管理:Spring Gateway可以幫助開(kāi)發(fā)人員進(jìn)行流量管理,例如實(shí)現(xiàn)限流、熔斷、超時(shí)控制等功能。通過(guò)在過(guò)濾器鏈中實(shí)現(xiàn)相應(yīng)的邏輯,開(kāi)發(fā)人員可以有效地控制流量和防止?jié)撛诘男阅軉?wèn)題。
  3. 身份驗(yàn)證和授權(quán):在微服務(wù)架構(gòu)中,身份驗(yàn)證和授權(quán)是一個(gè)重要的考慮因素。Spring Gateway可以與安全框架(如Spring Security)集成,對(duì)API請(qǐng)求進(jìn)行身份驗(yàn)證和授權(quán)控制,確保只有合法的用戶(hù)才能訪問(wèn)特定的微服務(wù)。
  4. 集成第三方服務(wù):Spring Gateway可以輕松地與第三方服務(wù)集成,例如消息隊(duì)列、緩存系統(tǒng)等。通過(guò)集成這些服務(wù),開(kāi)發(fā)人員可以構(gòu)建更加強(qiáng)大和靈活的微服務(wù)應(yīng)用程序。
  5. 監(jiān)控和日志記錄:通過(guò)與監(jiān)控系統(tǒng)集成,Spring Gateway可以幫助開(kāi)發(fā)人員進(jìn)行性能分析和故障排查。它提供了內(nèi)置的監(jiān)控端點(diǎn),可以輕松地收集和報(bào)告關(guān)鍵指標(biāo),并與日志框架(如Logback或Log4j)集成以記錄詳細(xì)的日志信息。

到了這里,關(guān)于Spring Cloud Gateway過(guò)濾器GlobalFilter詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Cloud Gateway快速入門(mén)(三)——過(guò)濾器

    Gateway過(guò)濾器是Spring Cloud Gateway提供的一種機(jī)制,用于對(duì)進(jìn)入網(wǎng)關(guān)的請(qǐng)求和返回進(jìn)行處理和轉(zhuǎn)換。它可以用于實(shí)現(xiàn)各種功能,如請(qǐng)求鑒權(quán)、請(qǐng)求轉(zhuǎn)發(fā)、請(qǐng)求限流、請(qǐng)求重試等。 網(wǎng)關(guān)過(guò)濾器是Spring Cloud Gateway提供的一種機(jī)制,用于在請(qǐng)求進(jìn)入網(wǎng)關(guān)和響應(yīng)離開(kāi)網(wǎng)關(guān)時(shí)進(jìn)行一些預(yù)處理

    2024年02月04日
    瀏覽(47)
  • Spring Cloud Gateway內(nèi)置的斷言和過(guò)濾器作用

    對(duì)應(yīng)版本3.1.7對(duì)應(yīng)SpringCloud版本2021.0.7 AfterRoutePredicateFactory 作用:判斷當(dāng)請(qǐng)求時(shí)間是否在指定配置時(shí)間之后 使用方式 使用場(chǎng)景:當(dāng)上線一新服務(wù)時(shí)在未來(lái)某個(gè)時(shí)間提供服務(wù) 兩種配置方式的區(qū)別: 第一種便捷方式配置的值是按逗號(hào)分隔,再按shortcutFieldOrder方法返回的字段順序

    2024年02月06日
    瀏覽(26)
  • Spring Cloud Gateway 過(guò)濾器 StripPrefix=1 的作用

    StripPrefix=1 是 Spring Gateway 中的一個(gè)過(guò)濾器,它用于去除請(qǐng)求的前綴路徑。 當(dāng)配置了 StripPrefix=1 過(guò)濾器后,如果請(qǐng)求的路徑中存在前綴路徑,該過(guò)濾器將會(huì)去除指定數(shù)量的前綴路徑。具體而言,StripPrefix=1 表示去除請(qǐng)求路徑的第一個(gè)路徑片段(即前綴路徑)。 例如,假設(shè)你的路

    2024年02月04日
    瀏覽(22)
  • Spring-Cloud-Gateway如何自定義路由過(guò)濾器?

    遇到這么一個(gè)面試題:自定義網(wǎng)關(guān)過(guò)濾器實(shí)現(xiàn)把url中的請(qǐng)求參數(shù)放到http的header中傳遞給微服務(wù)。 我們知道網(wǎng)關(guān)的一個(gè)重要的作用就是路由轉(zhuǎn)發(fā),路由表的配置大概是這個(gè)樣子: 其中的filters就是配置的路由過(guò)濾器,Spring已經(jīng)內(nèi)置了31個(gè)路由的過(guò)濾器,這些過(guò)濾器都是 org.spring

    2024年02月16日
    瀏覽(24)
  • 【Spring Cloud】深入探索統(tǒng)一網(wǎng)關(guān) Gateway 的搭建,斷言工廠,過(guò)濾器工廠,全局過(guò)濾器以及跨域問(wèn)題

    【Spring Cloud】深入探索統(tǒng)一網(wǎng)關(guān) Gateway 的搭建,斷言工廠,過(guò)濾器工廠,全局過(guò)濾器以及跨域問(wèn)題

    在微服務(wù)架構(gòu)中,網(wǎng)關(guān)是至關(guān)重要的組件,具有多重職責(zé),為整個(gè)系統(tǒng)提供了一系列關(guān)鍵功能。從下面的微服務(wù)結(jié)構(gòu)圖中,我們可以明確網(wǎng)關(guān)的幾項(xiàng)主要作用: 微服務(wù)結(jié)構(gòu)圖: 請(qǐng)求過(guò)濾與安全: 用戶(hù)的所有請(qǐng)求首先經(jīng)過(guò)網(wǎng)關(guān),這使得網(wǎng)關(guān)成為系統(tǒng)的第一道防線。通過(guò)對(duì)傳入

    2024年02月07日
    瀏覽(24)
  • 從Spring Cloud Gateway過(guò)濾器中獲取請(qǐng)求體的最優(yōu)方案

    在spring cloud gateway出現(xiàn)這個(gè)問(wèn)題的時(shí)候我們第一反應(yīng)應(yīng)該很簡(jiǎn)單,但是真正實(shí)現(xiàn)的時(shí)候卻有點(diǎn)困難。我看了很多相關(guān)的文檔,感覺(jué)太多都不清晰而且解決不了問(wèn)題。下面我就把我的方便理解的解決方案寫(xiě)下來(lái)。 1. 先重寫(xiě)請(qǐng)求體(過(guò)濾器優(yōu)先級(jí)一定要在要獲取body之前執(zhí)行) 這

    2024年02月16日
    瀏覽(22)
  • SpringCloud - Spring Cloud 之 Gateway網(wǎng)關(guān),Route路由,Predicate 謂詞/斷言,F(xiàn)ilter 過(guò)濾器(十三)

    SpringCloud - Spring Cloud 之 Gateway網(wǎng)關(guān),Route路由,Predicate 謂詞/斷言,F(xiàn)ilter 過(guò)濾器(十三)

    閱讀本文前可先參考 ??????SpringCloud - Spring Cloud根/父項(xiàng)目,開(kāi)發(fā)準(zhǔn)備(二)_MinggeQingchun的博客-CSDN博客 SpringCloud - Spring Cloud 之 Gateway網(wǎng)關(guān)(十三)_MinggeQingchun的博客-CSDN博客 Web 有三大組件(監(jiān)聽(tīng)器 過(guò)濾器 servlet),Spring Cloud GateWay 最主要的功能就是路由轉(zhuǎn)發(fā),而在定義

    2024年02月14日
    瀏覽(29)
  • gateway之過(guò)濾器(Filter)詳解

    gateway之過(guò)濾器(Filter)詳解

    在Spring Cloud中,過(guò)濾器(Filter)是一種關(guān)鍵的組件,用于在微服務(wù)架構(gòu)中處理和轉(zhuǎn)換傳入請(qǐng)求以及傳出響應(yīng)。過(guò)濾器位于服務(wù)網(wǎng)關(guān)或代理中,并通過(guò)攔截請(qǐng)求和響應(yīng)流量來(lái)提供各種功能。 過(guò)濾器在請(qǐng)求的不同生命周期階段執(zhí)行特定的操作,例如鑒權(quán)、認(rèn)證、請(qǐng)求轉(zhuǎn)發(fā)、限流、

    2024年02月05日
    瀏覽(20)
  • 網(wǎng)關(guān) GateWay 的使用詳解、路由、過(guò)濾器、跨域配置!

    網(wǎng)關(guān) GateWay 的使用詳解、路由、過(guò)濾器、跨域配置!

    SpringCloudGateway網(wǎng)關(guān)是所有微服務(wù)的統(tǒng)一入口。 1.1 它的主要作用是: 反向代理(請(qǐng)求的轉(zhuǎn)發(fā)) 路由和負(fù)載均衡 身份認(rèn)證和權(quán)限控制 對(duì)請(qǐng)求限流 1.2 相比于Zuul的優(yōu)勢(shì): SpringCloudGateway基于Spring5中提供的WebFlux,是一種響應(yīng)式編程的實(shí)現(xiàn),性能更加優(yōu)越。 Zuul的實(shí)現(xiàn)方式比較老式

    2024年02月07日
    瀏覽(93)
  • 網(wǎng)關(guān) GateWay 的使用詳解、路由、過(guò)濾器、跨域配置

    網(wǎng)關(guān) GateWay 的使用詳解、路由、過(guò)濾器、跨域配置

    SpringCloudGateway網(wǎng)關(guān)是所有微服務(wù)的統(tǒng)一入口。 1.1 它的主要作用是: 反向代理(請(qǐng)求的轉(zhuǎn)發(fā)) 路由和負(fù)載均衡 身份認(rèn)證和權(quán)限控制 對(duì)請(qǐng)求限流 1.2 相比于Zuul的優(yōu)勢(shì): SpringCloudGateway基于Spring5中提供的WebFlux,是一種響應(yīng)式編程的實(shí)現(xiàn),性能更加優(yōu)越。 Zuul的實(shí)現(xiàn)方式比較老式

    2024年02月14日
    瀏覽(93)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包