附錄 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.