常用应用属性
你可以在 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 | 在 consul KV 中查找值时,替代 spring.application.name 的选项。 | |
| 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 | 如果启用了监视功能。默认为 true。 |
| spring.cloud.consul.config.watch.wait-time | 55 | 等待(或阻塞)监视查询的秒数,默认为55。需要小于默认的ConsulClient(默认为60)。要增加ConsulClient超时时间,请创建一个带有自定义HttpClient的自定义ConsulRawClient的ConsulClient bean。 |
| spring.cloud.consul.discovery.acl-token | ||
| spring.cloud.consul.discovery.catalog-services-watch-delay | 1000 | 调用监视 consul catalog 的延迟时间(毫秒),默认值为 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 | 注销服务超时时间,超过此时间将视为关键服务(例如30分钟)。需要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 确定系统健康状态时使用的执行器健康组(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 agent 方案(HTTP/HTTPS)。如果地址中没有指定方案,客户端将使用 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 | 外部密钥库的路径。 |