配置

Spring Cloud Gateway 的配置由一系列 RouteDefinitionLocator 例項驅動。以下列表顯示了 RouteDefinitionLocator 介面的定義

RouteDefinitionLocator.java
public interface RouteDefinitionLocator {
	Flux<RouteDefinition> getRouteDefinitions();
}

預設情況下,PropertiesRouteDefinitionLocator 使用 Spring Boot 的 @ConfigurationProperties 機制載入屬性。

前面的配置示例都使用了快捷方式表示法,該表示法使用位置引數而不是命名引數。以下兩個示例是等效的

application.yml
spring:
  cloud:
    gateway:
      routes:
      - id: setstatus_route
        uri: https://example.org
        filters:
        - name: SetStatus
          args:
            status: 401
      - id: setstatusshortcut_route
        uri: https://example.org
        filters:
        - SetStatus=401

對於閘道器的某些用法,屬性是足夠的,但一些生產用例受益於從外部源(例如資料庫)載入配置。未來的里程碑版本將提供基於 Spring Data Repositories(例如 Redis、MongoDB 和 Cassandra)的 RouteDefinitionLocator 實現。

路由定義指標

要啟用 RouteDefinition 指標,請將 spring-boot-starter-actuator 新增為專案依賴項。然後,預設情況下,只要將屬性 spring.cloud.gateway.metrics.enabled 設定為 true,指標就可用。將新增一個名為 spring.cloud.gateway.routes.count 的 Gauge 指標,其值為 RouteDefinitions 的數量。此指標將透過 /actuator/metrics/spring.cloud.gateway.routes.count 獲取。

© . This site is unofficial and not affiliated with VMware.