Spring Cloud 配置服务器
Spring Cloud Config Server 提供了一个基于 HTTP 资源的 API,用于外部配置(名称-值对或等效的 YAML 内容)。通过使用@EnableConfigServer
注解,该服务器可以嵌入到 Spring Boot 应用程序中。因此,以下应用程序是一个配置服务器
ConfigServer.java
@SpringBootApplication
@EnableConfigServer
public class ConfigServer {
public static void main(String[] args) {
SpringApplication.run(ConfigServer.class, args);
}
}
像所有 Spring Boot 应用程序一样,它默认在 8080 端口运行,但您可以通过多种方式将其切换到更常用的 8888 端口。最简单的方法也是设置默认配置资源库的方法是使用spring.config.name=configserver
启动它(Config Server jar 中有一个configserver.yml
)。另一种方法是使用您自己的application.properties
,如下例所示
application.properties
server.port: 8888
spring.cloud.config.server.git.uri: file://${user.home}/config-repo
其中${user.home}/config-repo
是一个包含 YAML 和属性文件的 Git 仓库。
在 Windows 上,如果文件 URL 是带有驱动器前缀的绝对路径(例如,/${user.home}/config-repo ),则需要额外的“/”。 |
以下清单显示了创建前面示例中 Git 仓库的步骤 $ cd $HOME $ mkdir config-repo $ cd config-repo $ git init . $ echo info.foo: bar > application.properties $ git add -A . $ git commit -m "Add application.properties" |
仅将本地文件系统用于 Git 仓库用于测试目的。在生产环境中,您应该使用服务器来托管您的配置仓库。 |
如果您只在其中保留文本文件,则初始克隆您的配置仓库可以快速有效。如果您存储二进制文件,尤其是大型二进制文件,则在第一次请求配置时可能会遇到延迟,或者在服务器中遇到内存不足错误。 |