日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java版电子商务spring cloud分布式微服务b2b2c社交电商-spring cloud gateway之filter篇

發(fā)布時間:2025/7/14 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java版电子商务spring cloud分布式微服务b2b2c社交电商-spring cloud gateway之filter篇 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

社交電商平臺源碼請加企鵝求求:一零三八七七四六二六。filter的作用和生命周期

由filter工作流程點(diǎn),可以知道filter有著非常重要的作用,在“pre”類型的過濾器可以做參數(shù)校驗(yàn)、權(quán)限校驗(yàn)、流量監(jiān)控、日志輸出、協(xié)議轉(zhuǎn)換等,在“post”類型的過濾器中可以做響應(yīng)內(nèi)容、響應(yīng)頭的修改,日志的輸出,流量監(jiān)控等。首先需要弄清一點(diǎn)為什么需要網(wǎng)關(guān)這一層,這就不得不說下filter的作用了。

作用

當(dāng)我們有很多個服務(wù)時,比如下圖中的user-service、goods-service、sales-service等服務(wù),客戶端請求各個服務(wù)的Api時,每個服務(wù)都需要做相同的事情,比如鑒權(quán)、限流、日志輸出等。

對于這樣重復(fù)的工作,有沒有辦法做的更好,答案是肯定的。在微服務(wù)的上一層加一個全局的權(quán)限控制、限流、日志輸出的Api Gatewat服務(wù),然后再將請求轉(zhuǎn)發(fā)到具體的業(yè)務(wù)服務(wù)層。這個Api Gateway服務(wù)就是起到一個服務(wù)邊界的作用,外接的請求訪問系統(tǒng),必須先通過網(wǎng)關(guān)層。

生命周期

Spring Cloud Gateway同zuul類似,有“pre”和“post”兩種方式的filter。客戶端的請求先經(jīng)過“pre”類型的filter,然后將請求轉(zhuǎn)發(fā)到具體的業(yè)務(wù)服務(wù),比如上圖中的user-service,收到業(yè)務(wù)服務(wù)的響應(yīng)之后,再經(jīng)過“post”類型的filter處理,最后返回響應(yīng)到客戶端。

與zuul不同的是,filter除了分為“pre”和“post”兩種方式的filter外,在Spring Cloud Gateway中,filter從作用范圍可分為另外兩種,一種是針對于單個路由的gateway filter,它在配置文件中的寫法同predict類似;另外一種是針對于所有路由的global gateway filer,二者區(qū)別如下:

GatewayFilter : 需要通過spring.cloud.routes.filters 配置在具體路由下,只作用在當(dāng)前路由上或通過spring.cloud.default-filters配置在全局,作用在所有路由上

GlobalFilter : 全局過濾器,不需要在配置文件中配置,作用在所有的路由上,最終通過GatewayFilterAdapter包裝成GatewayFilterChain可識別的過濾器,它為請求業(yè)務(wù)以及路由的URI轉(zhuǎn)換為真實(shí)業(yè)務(wù)服務(wù)的請求地址的核心過濾器,不需要配置,系統(tǒng)初始化時加載,并作用在每個路由上。

gateway filter

過濾器允許以某種方式修改傳入的HTTP請求或傳出的HTTP響應(yīng)。過濾器可以限定作用在某些特定請求路徑上。 Spring Cloud Gateway包含許多內(nèi)置的GatewayFilter工廠。

GatewayFilter工廠同上一篇介紹的Predicate工廠類似,都是在配置文件application.yml中配置,遵循了約定大于配置的思想,只需要在配置文件配置GatewayFilter Factory的名稱,而不需要寫全部的類名,比如AddRequestHeaderGatewayFilterFactory只需要在配置文件中寫AddRequestHeader,而不是全部類名。在配置文件中配置的GatewayFilter Factory最終都會相應(yīng)的過濾器工廠類處理。

Spring Cloud Gateway 內(nèi)置的過濾器工廠一覽表如下:

Spring Cloud Gateway框架內(nèi)置的GlobalFilter如下:

本篇文章講述了Spring Cloud Gateway中的過濾器,包括GatewayFilter和GlobalFilter,有很多內(nèi)置的過濾器并沒有講述到,比如限流過濾器,這個我覺得是比較重要和大家關(guān)注的過濾器,將在之后的文章講述。

轉(zhuǎn)載于:https://juejin.im/post/5cd235c0f265da035d0c9309

總結(jié)

以上是生活随笔為你收集整理的java版电子商务spring cloud分布式微服务b2b2c社交电商-spring cloud gateway之filter篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。