網(wǎng)站關(guān)鍵詞代碼怎么做互聯(lián)網(wǎng)推廣有哪些方式
SpringCloudGateway基本介紹
Spring Cloud Gateway 構(gòu)建于Spring Boot 2.x、 Spring WebFlux和Project Reactor之上。因此,在使用 Spring Cloud Gateway 時,您可能不會應(yīng)用許多熟悉的同步庫(例如 Spring Data 和 Spring Security)和模式。
Spring Cloud Gateway 需要 Spring Boot 和 Spring Webflux 提供的 Netty 運行時。它不能在傳統(tǒng)的 Servlet 容器中工作,也不能作為 WAR 構(gòu)建。
該項目提供了一個用于在 Spring WebFlux 或 Spring WebMVC 之上構(gòu)建 API 網(wǎng)關(guān)的庫。Spring Cloud Gateway 旨在提供一種簡單而有效的方法來路由到 API 并為其提供橫切關(guān)注點,例如:安全性、監(jiān)控/指標(biāo)和彈性。
SpringCloudGateway工作原理
Spring Cloud網(wǎng)關(guān)的特點:
- 基于 Spring 框架和 Spring Boot 構(gòu)建
- 能夠匹配任何請求屬性上的路由。
- 謂詞和過濾器特定于路由。
- 斷路器集成。
- Spring Cloud Discovery客戶端集成
- 易于編寫謂詞和過濾器
- 請求速率限制
- 路徑重寫
Spring Cloud網(wǎng)關(guān)請求鏈路圖
Route:一個 Route 由路由 ID,轉(zhuǎn)發(fā) URI,多個 Predicates 以及多個 Filters 構(gòu)成。Gateway 上可以配置多個 Routes。處理請求時會按優(yōu)先級排序,找到第一個滿足所有 Predicates 的 Route;
Predicate:表示路由的匹配條件,可以用來匹配請求的各種屬性,如請求路徑、方法、header 等。一個 Route 可以包含多個子 Predicates,多個子 Predicates 最終會合并成一個;
Filter:過濾器包括了處理請求和響應(yīng)的邏輯,可以分為 pre 和 post 兩個階段。多個 Filter 在 pre 階段會按優(yōu)先級高到低順序執(zhí)行,post 階段則是反向執(zhí)行。Gateway 包括兩類 Filter。
全局 Filter:每種全局 Filter 全局只會有一個實例,會對所有的 Route 都生效。
路由 Filter:路由 Filter 是針對 Route 進行配置的,不同的 Route 可以使用不同的參數(shù),因此會創(chuàng)建不同的實例。
調(diào)試Demo局部code
@SpringBootApplication
public class DemogatewayApplication {@Beanpublic RouteLocator customRouteLocator(