附录 A: 常见应用程序属性

各种属性可以在您的 application.properties 文件、application.yml 文件中指定,或作为命令行开关。本附录提供了常见的 Spring Cloud Commons 属性列表以及引用了使用它们的底层类。

属性贡献可能来自您 classpath 中的其他 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

true

标志,指示 {@link #isOverrideSystemProperties() systemPropertiesOverride} 是否可以使用。设置为 false 以防止用户意外更改默认值。默认 true。

spring.cloud.config.initialize-on-context-refresh

标志,用于在上下文刷新事件时初始化引导配置。默认 false。

spring.cloud.config.override-none

标志,指示当 {@link #setAllowOverride(boolean) allowOverride} 为 true 时,外部属性应具有最低优先级,不应覆盖任何现有属性源(包括本地配置文件)。默认 false。仅在使用配置优先引导时有效。

spring.cloud.config.override-system-properties

true

标志,指示外部属性是否应覆盖系统属性。默认 true。

spring.cloud.decrypt-environment-post-processor.enabled

true

启用 DecryptEnvironmentPostProcessor。

spring.cloud.discovery.client.composite-indicator.enabled

true

启用服务发现客户端组合健康指示器。

spring.cloud.discovery.client.health-indicator.enabled

true

spring.cloud.discovery.client.health-indicator.include-description

spring.cloud.discovery.client.health-indicator.use-services-query

true

指示器是否应使用 {@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

0

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

true

启用服务发现客户端健康指示器。

spring.cloud.features.enabled

true

启用功能端点。

spring.cloud.httpclientfactories.apache.enabled

true

启用 Apache Http 客户端工厂 bean 的创建。

spring.cloud.httpclientfactories.ok.enabled

true

启用 OK Http 客户端工厂 bean 的创建。

spring.cloud.hypermedia.refresh.fixed-delay

5000

spring.cloud.hypermedia.refresh.initial-delay

10000

spring.cloud.inetutils.default-hostname

localhost

默认主机名。在发生错误时使用。

spring.cloud.inetutils.default-ip-address

127.0.0.1

默认 IP 地址。在发生错误时使用。

spring.cloud.inetutils.ignored-interfaces

将被忽略的网络接口的 Java 正则表达式列表。

spring.cloud.inetutils.preferred-networks

将被优先考虑的网络地址的 Java 正则表达式列表。

spring.cloud.inetutils.timeout-seconds

1

计算主机名的超时时间,单位为秒。

spring.cloud.inetutils.use-only-site-local-interfaces

是否仅使用具有站点本地地址的接口。更多详细信息请参见 {@link InetAddress#isSiteLocalAddress()}。

spring.cloud.loadbalancer.cache.caffeine.spec

用于创建缓存的规范。有关规范格式的更多详细信息,请参阅CaffeineSpec。

spring.cloud.loadbalancer.cache.capacity

256

初始缓存容量,表示为 int。

spring.cloud.loadbalancer.cache.enabled

true

启用 Spring Cloud LoadBalancer 缓存机制。

spring.cloud.loadbalancer.cache.ttl

35s

存活时间 - 从记录写入开始计算的时间,超过此时间后缓存条目将过期。

spring.cloud.loadbalancer.call-get-with-request-on-delegates

如果此标志设置为 {@code true},则 {@code ServiceInstanceListSupplier#get(Request request)} 方法将在可从 {@code DelegatingServiceInstanceListSupplier} 派生但尚未实现该方法的类中实现,以调用 {@code delegate.get(request)}。但 {@code CachingServiceInstanceListSupplier} 和 {@code HealthCheckServiceInstanceListSupplier} 除外,它们应直接放置在实例供应商层次结构中,紧跟在执行网络实例检索的供应商之后,在进行任何基于请求的过滤之前。注意:在 4.1 版本中,此行为将成为默认。

spring.cloud.loadbalancer.clients

spring.cloud.loadbalancer.configurations

default

启用预定义的负载均衡器配置。

spring.cloud.loadbalancer.eager-load.clients

客户端的名称。

spring.cloud.loadbalancer.enabled

true

启用 Spring Cloud LoadBalancer。

spring.cloud.loadbalancer.health-check.initial-delay

0

健康检查调度程序的初始延迟值。

spring.cloud.loadbalancer.health-check.interval

25s

重新运行健康检查调度程序的间隔。

spring.cloud.loadbalancer.health-check.interval

25s

重新运行健康检查调度程序的间隔。

spring.cloud.loadbalancer.health-check.path

应发起健康检查请求的路径。可以按 serviceId 设置。也可以设置 default 值。如果未设置,将使用 /actuator/health

spring.cloud.loadbalancer.health-check.port

应发起健康检查请求的路径。如果未设置,则使用请求服务在服务实例上可用的端口。

spring.cloud.loadbalancer.health-check.refetch-instances

指示 HealthCheckServiceInstanceListSupplier 是否应重新获取实例。如果实例可以更新且底层委托不提供持续的流,则可以使用此选项。

spring.cloud.loadbalancer.health-check.refetch-instances-interval

25s

重新获取可用服务实例的间隔。

spring.cloud.loadbalancer.health-check.repeat-health-check

true

指示健康检查是否应持续重复。如果定期重新获取实例,将其设置为 false 可能会很有用,因为每次重新获取都会触发一次健康检查。

spring.cloud.loadbalancer.health-check.update-results-list

true

指示 {@code healthCheckFlux} 是否应在每个已检索到的活跃 {@link ServiceInstance} 上发出。如果设置为 {@code false},则整个活跃实例序列将首先收集到列表中,然后才发出。

spring.cloud.loadbalancer.hint

允许设置传递给负载均衡器请求的 <code>hint</code> 值,该值随后可在 {@link ReactiveLoadBalancer} 实现中使用。

spring.cloud.loadbalancer.hint-header-name

X-SC-LB-Hint

允许设置用于传递基于提示的服务实例过滤提示的请求头名称。

spring.cloud.loadbalancer.retry.avoid-previous-instance

true

如果 Spring-Retry 在类路径中,则启用使用 RetryAwareServiceInstanceListSupplier 包装 ServiceInstanceListSupplier bean。

spring.cloud.loadbalancer.retry.backoff.enabled

指示是否应应用 Reactor Retry 回退。

spring.cloud.loadbalancer.retry.backoff.jitter

0.5

用于设置 RetryBackoffSpec.jitter

spring.cloud.loadbalancer.retry.backoff.max-backoff

Long.MAX 毫秒

用于设置 RetryBackoffSpec.maxBackoff

spring.cloud.loadbalancer.retry.backoff.min-backoff

5 毫秒

用于设置 RetryBackoffSpec#minBackoff

spring.cloud.loadbalancer.retry.enabled

true

启用负载均衡器重试。

spring.cloud.loadbalancer.retry.max-retries-on-next-service-instance

1

在下一个 ServiceInstance 上执行的重试次数。在每次重试调用之前选择一个 ServiceInstance

spring.cloud.loadbalancer.retry.max-retries-on-same-service-instance

0

在同一 ServiceInstance 上执行的重试次数。

spring.cloud.loadbalancer.retry.retry-on-all-exceptions

指示应针对所有异常尝试重试,而不仅仅是 retryableExceptions 中指定的异常。

spring.cloud.loadbalancer.retry.retry-on-all-operations

指示应在 HttpMethod.GET 以外的操作上尝试重试。

spring.cloud.loadbalancer.retry.retryable-exceptions

{}

一个 ThrowableSet,应触发重试。

spring.cloud.loadbalancer.retry.retryable-status-codes

{}

一个 状态码 Set,应触发重试。

spring.cloud.loadbalancer.service-discovery.timeout

服务发现调用超时的持续时间字符串表示。

spring.cloud.loadbalancer.stats.micrometer.enabled

启用 Spring Cloud LoadBalancer Micrometer 统计信息。

spring.cloud.loadbalancer.sticky-session.add-service-instance-cookie

指示负载均衡器是否应添加包含新选定实例的 cookie。

spring.cloud.loadbalancer.sticky-session.instance-id-cookie-name

sc-lb-instance-id

保存首选实例 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

true

启用刷新范围和相关功能的自动配置。

spring.cloud.refresh.extra-refreshable

true

需要后处理到刷新范围的额外 Bean 类名。

spring.cloud.refresh.never-refreshable

true

逗号分隔的 Bean 类名列表,这些 Bean 永远不会被刷新或重新绑定。

spring.cloud.service-registry.auto-registration.enabled

true

是否启用服务自动注册。默认为 true。

spring.cloud.service-registry.auto-registration.fail-fast

如果没有 AutoServiceRegistration,启动是否失败。默认为 false。

spring.cloud.service-registry.auto-registration.register-management

true

是否将管理注册为服务。默认为 true。

spring.cloud.util.enabled

true

启用 Spring Cloud 实用程序 bean 的创建。

1. 可观测性元数据

1.1. 可观测性 - 指标

以下是本项目声明的所有指标列表。

1.1.1. 断路器函数观测

当我们将一个传递给断路器作为 fallback 的函数包装时创建的观测。

指标名称 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

在启动观测后添加的键值可能会从 *.active 指标中缺失。
Micrometer 内部使用 纳秒 作为基本单位。但是,每个后端确定实际的基本单位。(即 Prometheus 使用秒)

封闭类 org.springframework.cloud.client.circuitbreaker.observation.CircuitBreakerObservationDocumentation 的完全限定名。

所有标签必须以 spring.cloud.circuitbreaker 前缀开头!
表 1. 低基数键

名称

描述

spring.cloud.circuitbreaker.type (必需)

定义包装 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

在启动观测后添加的键值可能会从 *.active 指标中缺失。
Micrometer 内部使用 纳秒 作为基本单位。但是,每个后端确定实际的基本单位。(即 Prometheus 使用秒)

封闭类 org.springframework.cloud.client.circuitbreaker.observation.CircuitBreakerObservationDocumentation 的完全限定名。

所有标签必须以 spring.cloud.circuitbreaker 前缀开头!
表 2. 低基数键

名称

描述

spring.cloud.circuitbreaker.type (必需)

定义包装 lambda 的类型。

1.2. 可观测性 - Span

以下是本项目声明的所有 Span 列表。

1.2.1. 断路器函数观测 Span

当我们将一个传递给断路器作为 fallback 的函数包装时创建的观测。

Span 名称 spring.cloud.circuitbreaker (由约定类 org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention 定义)。

封闭类 org.springframework.cloud.client.circuitbreaker.observation.CircuitBreakerObservationDocumentation 的完全限定名。

所有标签必须以 spring.cloud.circuitbreaker 前缀开头!
表 3. 标签键

名称

描述

spring.cloud.circuitbreaker.type (必需)

定义包装 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 前缀开头!
表 4. 标签键

名称

描述

spring.cloud.circuitbreaker.type (必需)

定义包装 lambda 的类型。

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