参考资料:
http://cloud.spring.io/spring-cloud-static/Camden.SR7/#_spring_cloud_config_server
服务器为外部配置(name-value对或等效的YAML内容)提供了一个HTTP,基于资源的API。服务器使用@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仓库
NOTE:在windows中,如果URL是带有驱动符前缀的绝对路径,你需要在URL中添加一个额外"/",例如:file:///${user.home}/config-repo
TIP: 以下是上面例子中创建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"
WARNING: 使用本地文件系统进行git存储库仅用于测试。使用服务器在生产环境中托管配置库。
WARNING: 如果您只保留文本文件,则配置库的初始克隆将会快速有效。如果您开始存储二进制文件,尤其是较大的文件,则可能会遇到服务器中第一个配置请求和/或内存不足错误的延迟.