附錄 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 型別。 |