附录 A: 常见应用程序属性
各种属性可以在您的 application.properties
文件、application.yml
文件或作为命令行开关指定。本附录提供了常见的 Spring Cloud Commons 属性列表以及引用使用这些属性的底层类。
属性贡献可能来自您类路径中的其他 jar 文件,因此您不应将其视为详尽列表。此外,您还可以定义自己的属性。 |
名称 | 默认值 | 描述 |
---|---|---|
spring.cloud.compatibility-verifier.compatible-boot-versions |
Spring Boot 依赖项的默认接受版本。如果您不想指定具体值,可以将补丁版本设置为 {@code x}。示例:{@code 3.4.x} |
|
spring.cloud.compatibility-verifier.enabled |
|
启用 Spring Cloud 兼容性验证的创建。 |
spring.cloud.config.allow-override |
|
标记,指示可以使用 {@link #isOverrideSystemProperties() systemPropertiesOverride}。设置为 false 可防止用户意外更改默认值。默认 true。 |
spring.cloud.config.initialize-on-context-refresh |
|
在上下文刷新事件时初始化引导配置的标记。默认 false。 |
spring.cloud.config.override-none |
|
标记,指示当 {@link #setAllowOverride(boolean) allowOverride} 为 true 时,外部属性应具有最低优先级,不应覆盖任何现有属性源(包括本地配置文件)。默认 false。这仅在使用 config first bootstrap 时生效。 |
spring.cloud.config.override-system-properties |
|
标记,指示外部属性应覆盖系统属性。默认 true。 |
spring.cloud.decrypt-environment-post-processor.enabled |
|
启用 DecryptEnvironmentPostProcessor。 |
spring.cloud.discovery.client.composite-indicator.enabled |
|
启用发现客户端组合健康指标。 |
spring.cloud.discovery.client.health-indicator.enabled |
|
|
spring.cloud.discovery.client.health-indicator.include-description |
|
|
spring.cloud.discovery.client.health-indicator.use-services-query |
|
指标是否应使用 {@link DiscoveryClient#getServices} 检查其健康状况。当设置为 {@code false} 时,指标转而使用更轻量的 {@link DiscoveryClient#probe()}。这在返回的服务数量庞大导致操作不必要的繁重的大规模部署中可能会有所帮助。 |
spring.cloud.discovery.client.simple.instances |
||
spring.cloud.discovery.client.simple.local.host |
||
spring.cloud.discovery.client.simple.local.instance-id |
||
spring.cloud.discovery.client.simple.local.metadata |
||
spring.cloud.discovery.client.simple.local.port |
|
|
spring.cloud.discovery.client.simple.local.secure |
|
|
spring.cloud.discovery.client.simple.local.service-id |
||
spring.cloud.discovery.client.simple.local.uri |
||
spring.cloud.discovery.client.simple.order |
||
spring.cloud.discovery.enabled |
|
启用发现客户端健康指标。 |
spring.cloud.features.enabled |
|
启用 features 端点。 |
spring.cloud.httpclientfactories.apache.enabled |
|
启用 Apache Http Client 工厂 Bean 的创建。 |
spring.cloud.httpclientfactories.ok.enabled |
|
启用 OK Http Client 工厂 Bean 的创建。 |
spring.cloud.hypermedia.refresh.fixed-delay |
|
|
spring.cloud.hypermedia.refresh.initial-delay |
|
|
spring.cloud.inetutils.default-hostname |
|
默认主机名。在出错时使用。 |
spring.cloud.inetutils.default-ip-address |
|
默认 IP 地址。在出错时使用。 |
spring.cloud.inetutils.ignored-interfaces |
要忽略的网络接口的 Java 正则表达式列表。 |
|
spring.cloud.inetutils.preferred-networks |
首选网络地址的 Java 正则表达式列表。 |
|
spring.cloud.inetutils.timeout-seconds |
|
计算主机名的超时时间(秒)。 |
spring.cloud.inetutils.use-only-site-local-interfaces |
|
是否仅使用具有站点本地地址的接口。详情请参阅 {@link InetAddress#isSiteLocalAddress()}。 |
spring.cloud.loadbalancer.cache.caffeine.spec |
用于创建缓存的规范。有关规范格式的更多详细信息,请参阅 CaffeineSpec。 |
|
spring.cloud.loadbalancer.cache.capacity |
|
初始缓存容量,表示为 int。 |
spring.cloud.loadbalancer.cache.enabled |
|
启用 Spring Cloud LoadBalancer 缓存机制。 |
spring.cloud.loadbalancer.cache.ttl |
|
存活时间 (TTL) - 从记录写入开始计算的时间,之后缓存条目过期。 |
spring.cloud.loadbalancer.call-get-with-request-on-delegates |
|
如果此标志设置为 {@code true},则实现 {@code DelegatingServiceInstanceListSupplier} 可分配但尚未实现 {@code ServiceInstanceListSupplier#get(Request request)} 方法的类将调用 {@code delegate.get(request)},但不包括 {@code CachingServiceInstanceListSupplier} 和 {@code HealthCheckServiceInstanceListSupplier},它们应直接放置在执行网络实例检索的供应器之后、任何基于请求的过滤之前。注意:在 4.1 版本中,此行为将成为默认行为。 |
spring.cloud.loadbalancer.clients |
||
spring.cloud.loadbalancer.configurations |
|
启用预定义的 LoadBalancer 配置。 |
spring.cloud.loadbalancer.eager-load.clients |
客户端名称。 |
|
spring.cloud.loadbalancer.enabled |
|
启用 Spring Cloud LoadBalancer。 |
spring.cloud.loadbalancer.health-check.initial-delay |
|
HealthCheck 调度器的初始延迟值。 |
spring.cloud.loadbalancer.health-check.interval |
|
重新运行 HealthCheck 调度器的间隔。 |
spring.cloud.loadbalancer.health-check.interval |
|
重新运行 HealthCheck 调度器的间隔。 |
spring.cloud.loadbalancer.health-check.path |
应发送健康检查请求的路径。可以按 |
|
spring.cloud.loadbalancer.health-check.port |
应发送健康检查请求的端口。如果未设置,则使用请求的服务在服务实例上可用的端口。 |
|
spring.cloud.loadbalancer.health-check.refetch-instances |
|
指示实例是否应由 |
spring.cloud.loadbalancer.health-check.refetch-instances-interval |
|
重新获取可用服务实例的间隔。 |
spring.cloud.loadbalancer.health-check.repeat-health-check |
|
指示健康检查是否应重复执行。如果定期重新获取实例,将其设置为 |
spring.cloud.loadbalancer.health-check.update-results-list |
|
指示 {@code healthCheckFlux} 是否应在检索到的每个存活的 {@link ServiceInstance} 上发出。如果设置为 {@code false},则首先将整个存活实例序列收集到一个列表中,然后才发出。 |
spring.cloud.loadbalancer.hint |
允许设置传递给 LoadBalancer 请求的 <code>hint</code> 值,该值随后可在 {@link ReactiveLoadBalancer} 实现中使用。 |
|
spring.cloud.loadbalancer.hint-header-name |
|
允许设置用于传递基于提示的服务实例过滤提示的头名称。 |
spring.cloud.loadbalancer.retry.avoid-previous-instance |
|
如果类路径中有 Spring-Retry,则启用将 ServiceInstanceListSupplier bean 包装到 |
spring.cloud.loadbalancer.retry.backoff.enabled |
|
指示是否应应用 Reactor Retry 回退。 |
spring.cloud.loadbalancer.retry.backoff.jitter |
|
用于设置 |
spring.cloud.loadbalancer.retry.backoff.max-backoff |
|
用于设置 |
spring.cloud.loadbalancer.retry.backoff.min-backoff |
|
用于设置 |
spring.cloud.loadbalancer.retry.enabled |
|
启用 LoadBalancer 重试。 |
spring.cloud.loadbalancer.retry.max-retries-on-next-service-instance |
|
在下一个 |
spring.cloud.loadbalancer.retry.max-retries-on-same-service-instance |
|
在同一个 |
spring.cloud.loadbalancer.retry.retry-on-all-exceptions |
|
指示应对所有异常尝试重试,而不仅仅是 |
spring.cloud.loadbalancer.retry.retry-on-all-operations |
|
指示应对非 |
spring.cloud.loadbalancer.retry.retryable-exceptions |
|
应该触发重试的 |
spring.cloud.loadbalancer.retry.retryable-status-codes |
|
应该触发重试的状态码 |
spring.cloud.loadbalancer.service-discovery.timeout |
调用服务发现的超时时间(Duration)的字符串表示。 |
|
spring.cloud.loadbalancer.stats.micrometer.enabled |
|
启用 Spring Cloud LoadBalancer Micrometer 统计。 |
spring.cloud.loadbalancer.sticky-session.add-service-instance-cookie |
|
指示 LoadBalancer 是否应添加一个包含新选定实例的 cookie。 |
spring.cloud.loadbalancer.sticky-session.instance-id-cookie-name |
|
保存首选实例 ID 的 cookie 名称。 |
spring.cloud.loadbalancer.x-forwarded.enabled |
|
启用 X-Forwarded 头部。 |
spring.cloud.loadbalancer.zone |
Spring Cloud LoadBalancer 区域。 |
|
spring.cloud.refresh.additional-property-sources-to-retain |
在刷新期间要保留的额外属性源。通常只保留系统属性源。此属性允许保留由 EnvironmentPostProcessors 等创建的属性源。 |
|
spring.cloud.refresh.enabled |
|
启用刷新范围和相关功能的自动配置。 |
spring.cloud.refresh.extra-refreshable |
|
要后处理到刷新范围中的 bean 的额外类名。 |
spring.cloud.refresh.never-refreshable |
|
永不刷新或重新绑定的 bean 的类名列表,以逗号分隔。 |
spring.cloud.service-registry.auto-registration.enabled |
|
服务自动注册是否启用。默认为 true。 |
spring.cloud.service-registry.auto-registration.fail-fast |
|
如果没有 AutoServiceRegistration,启动是否失败。默认为 false。 |
spring.cloud.service-registry.auto-registration.register-management |
|
是否将管理注册为服务。默认为 true。 |
spring.cloud.util.enabled |
|
启用 Spring Cloud 工具 bean 的创建。 |
1. 可观察性元数据
1.1. 可观察性 - 指标
您可以在下面找到此项目声明的所有指标列表。
1.1.1. 断路器函数观察
当我们我们将传递给断路器作为回退的函数包装时创建的观察。
指标名称 spring.cloud.circuitbreaker
(由约定类 org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention
定义)。 类型 timer
。
指标名称 spring.cloud.circuitbreaker.active
(由约定类 org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention
定义)。 类型 long task timer
。
在 Observation 启动后添加的 KeyValue 可能会在 *.active 指标中丢失。 |
Micrometer 内部使用 nanoseconds 作为基本单位。但是,每个后端决定实际的基本单位。(例如,Prometheus 使用秒) |
包含类 org.springframework.cloud.client.circuitbreaker.observation.CircuitBreakerObservationDocumentation
的完全限定名。
所有标签必须以 spring.cloud.circuitbreaker 前缀开头! |
名称 |
描述 |
|
定义包装的 lambda 类型。 |
1.1.2. 断路器供应器观察
当我们我们将传递给断路器作为供应器的 Supplier 包装时创建的观察。
指标名称 spring.cloud.circuitbreaker
(由约定类 org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention
定义)。 类型 timer
。
指标名称 spring.cloud.circuitbreaker.active
(由约定类 org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention
定义)。 类型 long task timer
。
在 Observation 启动后添加的 KeyValue 可能会在 *.active 指标中丢失。 |
Micrometer 内部使用 nanoseconds 作为基本单位。但是,每个后端决定实际的基本单位。(例如,Prometheus 使用秒) |
包含类 org.springframework.cloud.client.circuitbreaker.observation.CircuitBreakerObservationDocumentation
的完全限定名。
所有标签必须以 spring.cloud.circuitbreaker 前缀开头! |
名称 |
描述 |
|
定义包装的 lambda 类型。 |
1.2. 可观察性 - Span
您可以在下面找到此项目声明的所有 span 列表。
1.2.1. 断路器函数观察 Span
当我们我们将传递给断路器作为回退的函数包装时创建的观察。
Span 名称 spring.cloud.circuitbreaker
(由约定类 org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention
定义)。
包含类 org.springframework.cloud.client.circuitbreaker.observation.CircuitBreakerObservationDocumentation
的完全限定名。
所有标签必须以 spring.cloud.circuitbreaker 前缀开头! |
名称 |
描述 |
|
定义包装的 lambda 类型。 |
1.2.2. 断路器供应器观察 Span
当我们我们将传递给断路器作为供应器的 Supplier 包装时创建的观察。
Span 名称 spring.cloud.circuitbreaker
(由约定类 org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention
定义)。
包含类 org.springframework.cloud.client.circuitbreaker.observation.CircuitBreakerObservationDocumentation
的完全限定名。
所有标签必须以 spring.cloud.circuitbreaker 前缀开头! |
名称 |
描述 |
|
定义包装的 lambda 类型。 |