10. 配置
Spring Cloud 网关的配置由一组实例驱动。
下面的清单显示了接口的定义:RouteDefinitionLocator
RouteDefinitionLocator
例 63.RouteDefinitionLocator.java
public interface RouteDefinitionLocator {
Flux<RouteDefinition> getRouteDefinitions();
}
默认情况下,a 使用 Spring Boot 的机制加载属性。PropertiesRouteDefinitionLocator
@ConfigurationProperties
前面的 configuration 示例都使用 shortcut notation,该表示法使用位置参数而不是命名参数。 以下两个示例是等效的:
例 64.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
10.1. RouteDefinition 指标
要启用指标,请将spring-boot-starter-actuator添加为项目依赖项。然后,默认情况下,只要将属性设置为 ,量度就可用。将添加一个名为 的量规量度,其值是 的数量。此指标可从 获取。RouteDefinition
spring.cloud.gateway.metrics.enabled
true
spring.cloud.gateway.routes.count
RouteDefinitions
/actuator/metrics/spring.cloud.gateway.routes.count