Springcloud之Gateway閘道器

2022-09-19 08:39:13 字數 2626 閱讀 2162

官網:

匯入依賴

org.springframework.cloud

spring-cloud-starter-gateway

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

gateway不能匯入spring-boot-starter-web依賴,否則會報如下錯誤org.springframework.http.codec.servercodecconfigurer『 that could not be found,因為spring cloud gateway是基於webflux的,如果非要web支援的話需要匯入spring-boot-starter-webflux而不是spring-boot-start-web。

新增配置

defaultzone: http://localhost:7001/eureka #需要將閘道器注入到註冊中心

spring:

cloud:

gateway:

enabled: true

routes:

- id: payment_routh

uri: cloud-payment-service

predicates:

- path=/payment/**

驗證payment服務提供者自測: http://localhost:8001/payment/1

通過gateway閘道器訪問payment服務 http://localhost:7529/payment/1

之前我們做負載均衡的時候,是通過ribbon進行,但是現在我們對8001和8002做了閘道器,那麼就需要通過geteway的動態路由實現呼叫服務

spring:

cloud:

gateway:

enabled: true

discovery:

locator:

enabled: true #開啟從註冊中心動態建立路由的功能,利用微服務名進行路由

routes:

- id: payment_routh

uri: lb://cloud-payment-service #uri的協議為lb,表示啟用gateway閘道器的負載均衡功能

predicates:

- path=/payment/**

注意:uri 需要使用lb://不然不會開啟負載均衡的功能

從官方文件可以看到predicate有11種,具體的見官方文件

路由過濾器允許以某種方式修改傳入的 http 請求或傳出的 http 響應。路由過濾器的範圍是特定的路由。spring cloud gateway 包含31種內建的 gatewayfilter ,具體的詳見官方文件:/#gatewayfilter-factories

最重要的是使用自定義全域性globalfilter

作用建立乙個全域性的gatewayfilter類並實現介面globalfilter和ordered

@component

@slf4j

public class myloggatewayfilter implements globalfilter, ordered

return chain.filter(exchange);

}@override

public int getorder()

}

測試:

有username的引數進行測試

springcloud如何使用閘道器Gateway

過濾器閘道器整合類 sentinel 自定義限流預設返回格式 自定義api分組限流 在專案中右鍵新建模組,作為閘道器的模組 gateway閘道器 org.springframework.cloud groupid spring cloud starter gateway artifactid dep...

SpringCloud之Dashboard 流監控

新建springcloud consumer hystrix dashboard模組 新增依賴 org.springframework.cloudgroupid spring cloud starter hystrixartifactid 1.4.6.releaseversion dependenc...

注意力模型(GAT

graph資料結構的兩種特徵 當我們提到graph或者網路的時候,通常是包含頂點和邊的關係,那麼我們的研究目標就聚焦在頂點之上。而除了結構之外,每個頂點還有著自己的特徵,因此我們圖上的深度學習,無外乎就是希望學習上面兩種特徵。gcn的侷限性 gcn是處理transductive任務的利器,這也導致了...