此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Cloud Consul 4.2.1

常见应用程序属性

可以在 Yourapplication.properties文件中,在application.yml文件或命令行开关。 本附录提供了常见的 Spring Cloud Consul 属性列表以及对使用它们的基础类的引用。

属性贡献可能来自 Classpath 上的其他 jar 文件,因此您不应将其视为详尽的列表。 此外,您还可以定义自己的属性。
名称 默认值 描述

spring.cloud.consul.config.acl-token

spring.cloud.consul.config.data-key

data

如果 format 为 Format.PROPERTIES 或 Format.YAML,则以下字段将用作查找 consul 的 key 以进行配置。

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

在 consul KV 中查找值时使用的 spring.application.name 的替代方法。

spring.cloud.consul.config.前缀

spring.cloud.consul.config.前缀

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

调用 watch consul catalog 之间的延迟(以毫秒为单位),默认值为 1000。

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

2

监视 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

服务实例区域来自元数据。这允许更改元数据标签名称。

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

执行运行状况检查的频率(例如 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

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 中是否包含 hostname。

spring.cloud.consul.discovery.instance-group

服务实例组。

spring.cloud.consul.discovery.instance-id

唯一的服务实例 ID。

spring.cloud.consul.discovery.instance-zone

服务实例区域。

spring.cloud.consul.discovery.ip 地址

访问服务时使用的 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

用于在其下注册管理服务的端口(默认为 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

用于注册服务的端口(默认为 listening 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 代理主机名。默认为 'localhost'。

spring.cloud.consul.path

自定义路径(如果 consul 位于非 root 下)。

spring.cloud.consul.port

8500

Consul 代理端口。默认为 '8500'。

spring.cloud.consul.retry.enabled

true

如果启用了 consul retry。

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 代理方案 (HTTP/HTTPS)。如果地址中没有 scheme - 客户端将使用 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 实例类型

要使用的密钥框架的类型。

spring.cloud.consul.tls.key store 密码

外部密钥库的密码。

spring.cloud.consul.tls.key store 路径

外部密钥库的路径。