常見應用屬性

可以在 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

key-value

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

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

spring.cloud.consul.config.watch.enabled

true

監視是否啟用。預設為 true。

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

55

等待(或阻塞)監視查詢的秒數,預設為 55。需要小於預設的 ConsulClient 超時(預設為 60)。要增加 ConsulClient 超時,請建立一個帶有自定義 ConsulRawClient 和自定義 HttpClient 的 ConsulClient bean。

spring.cloud.consul.discovery.acl-token

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

1000

監視 consul 目錄呼叫之間的延遲,單位為毫秒,預設為 1000。

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

2

監視 consul 目錄時阻塞的秒數,預設為 2。

spring.cloud.consul.discovery.consistency-mode

default

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

spring.cloud.consul.discovery.datacenters

服務 ID 到要查詢的伺服器列表的資料中心對映。這允許在其他資料中心查詢服務。

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

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

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

zone

服務例項區域來自元資料。這允許更改元資料標籤名稱。

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

超時時間,用於登出關鍵狀態持續時間超過此超時時間的服務(例如,30m)。需要 consul 版本 7.x 或更高。

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

應用於健康檢查呼叫的頭部資訊。

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

10s

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

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

/actuator/health

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

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

健康檢查超時時間(例如,10s)。

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

30s

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

註冊管理服務時使用的元資料。

spring.cloud.consul.discovery.management-port

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

spring.cloud.consul.discovery.management-suffix

management

註冊管理服務時使用的字尾。

spring.cloud.consul.discovery.management-tags

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

spring.cloud.consul.discovery.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

向 /v1/health/service/serviceName 新增“passing”引數。這將把健康檢查透過狀態推送給伺服器。

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

服務 ID 到要查詢的伺服器列表的標籤對映。這允許按一個或多個標籤過濾服務。可以使用逗號分隔的值指定多個標籤。

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 代理主機名。預設為 'localhost'。

spring.cloud.consul.path

如果 consul 在非根路徑下,則為自定義路徑。

spring.cloud.consul.port

8500

Consul 代理埠。預設為 '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 代理 scheme (HTTP/HTTPS)。如果地址中沒有 scheme,客戶端將使用 HTTP。

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

true

啟用 Consul 服務註冊自動註冊。

spring.cloud.consul.service-registry.enabled

true

啟用 Consul 服務註冊功能。

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

外部金鑰庫的路徑。