常用應用程式屬性

各種屬性可以在您的 application.properties 檔案、application.yml 檔案或作為命令列開關指定。此附錄提供常用 Spring Cloud Consul 屬性的列表,以及對使用它們的底層類別的參考。

屬性貢獻可能來自您類別路徑上的其他 jar 檔案,因此您不應將此列表視為詳盡無遺。此外,您可以定義自己的屬性。
名稱 預設值 描述

spring.cloud.consul.config.acl-token

spring.cloud.consul.config.data-key

data

如果格式為 Format.PROPERTIES 或 Format.YAML,則以下欄位會用作在 consul 中查找組態的鍵。

spring.cloud.consul.config.default-context

application

spring.cloud.consul.config.enabled

true

spring.cloud.consul.config.fail-fast

true

如果為 true,則在組態查找期間拋出例外,否則記錄警告。

spring.cloud.consul.config.format

spring.cloud.consul.config.name

spring.application.name 的替代方案,用於在 consul KV 中查找值。

spring.cloud.consul.config.prefix

spring.cloud.consul.config.prefixes

spring.cloud.consul.config.profile-separator

,

spring.cloud.consul.config.watch.delay

1000

watch 的固定延遲值,以毫秒為單位。預設為 1000。

spring.cloud.consul.config.watch.enabled

true

是否啟用 watch。預設為 true。

spring.cloud.consul.config.watch.wait-time

55

等待 watch 查詢的秒數(或封鎖),預設為 55。需要小於預設 ConsulClient(預設為 60)。若要增加 ConsulClient 超時,請建立具有自訂 ConsulRawClient 和自訂 HttpClient 的 ConsulClient bean。

spring.cloud.consul.discovery.acl-token

spring.cloud.consul.discovery.catalog-services-watch-delay

1000

呼叫 watch consul catalog 的延遲時間,以毫秒為單位,預設為 1000。

spring.cloud.consul.discovery.catalog-services-watch-timeout

2

在 watch consul catalog 時封鎖的秒數,預設為 2。

spring.cloud.consul.discovery.consistency-mode

健康服務請求的一致性模式。

spring.cloud.consul.discovery.datacenters

serviceId 的對應 → 在伺服器列表中查詢的資料中心。這允許在另一個資料中心查找服務。

spring.cloud.consul.discovery.default-query-tag

如果在 serverListQueryTags 中未列出標籤,則在服務列表中查詢的標籤。可以使用逗號分隔值指定多個標籤。

spring.cloud.consul.discovery.default-zone-metadata-name

zone

服務實例區域來自 metadata。這允許變更 metadata 標籤名稱。

spring.cloud.consul.discovery.deregister

true

停用在 consul 中自動取消註冊服務。

spring.cloud.consul.discovery.enable-tag-override

為已註冊的服務啟用標籤覆寫。

spring.cloud.consul.discovery.enabled

true

是否啟用服務發現?

spring.cloud.consul.discovery.fail-fast

true

如果為 true,則在服務註冊期間拋出例外,否則記錄警告(預設為 true)。

spring.cloud.consul.discovery.health-check-critical-timeout

取消註冊臨界狀態超過逾時時間的服務的逾時時間(例如 30 分鐘)。需要 consul 7.x 或更高版本。

spring.cloud.consul.discovery.health-check-headers

要套用至健康檢查呼叫的標頭。

spring.cloud.consul.discovery.health-check-interval

10 秒

執行健康檢查的頻率(例如 10 秒),預設為 10 秒。

spring.cloud.consul.discovery.health-check-path

/actuator/health

用於健康檢查的替代伺服器路徑。

spring.cloud.consul.discovery.health-check-timeout

健康檢查的逾時時間(例如 10 秒)。

spring.cloud.consul.discovery.health-check-tls-skip-verify

如果為 true,則在服務檢查期間略過憑證驗證,否則執行憑證驗證。

spring.cloud.consul.discovery.health-check-url

用於覆寫預設值的自訂健康檢查 URL。

spring.cloud.consul.discovery.heartbeat.actuator-health-group

使用 Actuator 判斷系統健康狀況時要使用的 actuator 健康群組(根群組為 null)。

spring.cloud.consul.discovery.heartbeat.enabled

false

spring.cloud.consul.discovery.heartbeat.interval-ratio

spring.cloud.consul.discovery.heartbeat.reregister-service-on-failure

false

spring.cloud.consul.discovery.heartbeat.ttl

30 秒

spring.cloud.consul.discovery.heartbeat.use-actuator-health

true

在向 Consul TTL 檢查報告應用程式狀態時,是否考慮目前的系統健康狀況(透過 Actuator Health 端點報告)。Actuator Health 端點也必須可供應用程式使用。

spring.cloud.consul.discovery.hostname

存取伺服器時要使用的主機名稱。

spring.cloud.consul.discovery.include-hostname-in-instance-id

false

在註冊服務時,是否將主機名稱包含在預設實例 ID 中。

spring.cloud.consul.discovery.instance-group

服務實例群組。

spring.cloud.consul.discovery.instance-id

唯一的服務實例 ID。

spring.cloud.consul.discovery.instance-zone

服務實例區域。

spring.cloud.consul.discovery.ip-address

存取服務時要使用的 IP 位址(也必須設定 preferIpAddress 才能使用)。

spring.cloud.consul.discovery.lifecycle.enabled

true

spring.cloud.consul.discovery.management-enable-tag-override

為已註冊的管理服務啟用標籤覆寫。

spring.cloud.consul.discovery.management-metadata

註冊管理服務時要使用的 metadata。

spring.cloud.consul.discovery.management-port

註冊管理服務的連接埠(預設為管理連接埠)。

spring.cloud.consul.discovery.management-suffix

management

註冊管理服務時要使用的後綴。

spring.cloud.consul.discovery.management-tags

註冊管理服務時要使用的標籤。

spring.cloud.consul.discovery.metadata

註冊服務時要使用的 metadata。

spring.cloud.consul.discovery.order

0

CompositeDiscoveryClient 用於排序可用用戶端的探索用戶端順序。

spring.cloud.consul.discovery.port

註冊服務的連接埠(預設為監聽連接埠)。

spring.cloud.consul.discovery.prefer-agent-address

false

我們將如何判斷要使用的位址的來源。

spring.cloud.consul.discovery.prefer-ip-address

false

在註冊期間使用 IP 位址而非主機名稱。

spring.cloud.consul.discovery.query-passing

false

將 'passing' 參數新增至 /v1/health/service/serviceName。這會將健康檢查傳遞推送至伺服器。

spring.cloud.consul.discovery.register

true

在 consul 中註冊為服務。

spring.cloud.consul.discovery.register-health-check

true

在 consul 中註冊健康檢查。在開發服務期間很有用。

spring.cloud.consul.discovery.scheme

http

是否註冊 http 或 https 服務。

spring.cloud.consul.discovery.server-list-query-tags

serviceId 的對應 → 在伺服器列表中查詢的標籤。這允許依一個或多個標籤篩選服務。可以使用逗號分隔值指定多個標籤。

spring.cloud.consul.discovery.service-name

服務名稱。

spring.cloud.consul.discovery.tags

註冊服務時要使用的標籤。

spring.cloud.consul.enabled

true

是否啟用 spring cloud consul。

spring.cloud.consul.host

localhost

Consul agent 主機名稱。預設為 'localhost'。

spring.cloud.consul.path

如果 consul 位於非根目錄下,則為自訂路徑。

spring.cloud.consul.port

8500

Consul agent 連接埠。預設為 '8500'。

spring.cloud.consul.retry.enabled

true

是否啟用 consul 重試。

spring.cloud.consul.retry.initial-interval

1000

初始重試間隔,以毫秒為單位。

spring.cloud.consul.retry.max-attempts

6

最大嘗試次數。

spring.cloud.consul.retry.max-interval

2000

退避的最大間隔。

spring.cloud.consul.retry.multiplier

1.1

下一個間隔的乘數。

spring.cloud.consul.ribbon.enabled

true

啟用 Consul 和 Ribbon 整合。

spring.cloud.consul.scheme

Consul agent 方案 (HTTP/HTTPS)。如果位址中沒有方案,用戶端將使用 HTTP。

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

true

啟用 Consul Service Registry 自動註冊。

spring.cloud.consul.service-registry.enabled

true

啟用 Consul Service Registry 功能。

spring.cloud.consul.tls.certificate-password

開啟憑證的密碼。

spring.cloud.consul.tls.certificate-path

憑證的檔案路徑。

spring.cloud.consul.tls.key-store-instance-type

要使用的金鑰架構類型。

spring.cloud.consul.tls.key-store-password

外部金鑰儲存庫的密碼。

spring.cloud.consul.tls.key-store-path

外部金鑰儲存庫的路徑。