文件系统后端
Config Server 中还有一个“原生”配置文件,它不使用 Git,而是从本地 classpath 或文件系统加载配置文件(你可以使用 spring.cloud.config.server.native.searchLocations 指向任何静态 URL)。要使用原生配置文件,请使用 spring.profiles.active=native 启动 Config Server。
请记住对文件资源使用 file: 前缀(没有前缀的默认值通常是 classpath)。与任何 Spring Boot 配置一样,你可以嵌入 ${} 风格的环境占位符,但请记住 Windows 中的绝对路径需要额外的 /(例如,/${user.home}/config-repo)。 |
searchLocations 的默认值与本地 Spring Boot 应用程序相同(即 [classpath:/, classpath:/config, file:./, file:./config])。这不会将服务器的 application.properties 暴露给所有客户端,因为在发送给客户端之前,服务器中存在的任何属性源都将被移除。 |
| 文件系统后端非常适合快速入门和测试。要在生产环境中使用它,你需要确保文件系统可靠并能被 Config Server 的所有实例共享。 |
搜索位置可以包含 {application}、{profile} 和 {label} 的占位符。通过这种方式,你可以在路径中分隔目录,并选择适合你的策略(例如,每个应用程序一个子目录或每个配置文件一个子目录)。
如果你在搜索位置中不使用占位符,此仓库还会将 HTTP 资源的 {label} 参数添加到搜索路径的后缀中,因此属性文件将从每个搜索位置以及一个与标签同名的子目录中加载(带标签的属性在 Spring Environment 中具有优先权)。因此,没有占位符的默认行为与添加以 /{label}/ 结尾的搜索位置相同。例如,file:/tmp/config 与 file:/tmp/config,file:/tmp/config/{label} 相同。此行为可以通过设置 spring.cloud.config.server.native.addLabelLocations=false 来禁用。