常见应用属性

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

外部密钥库的路径。