目的:分布式系统面临的配置问题
git add
git commit
git push
pom spring-cloud-config-server
启动注解
@EnableConfigServer
###yml配置
server: port: 3344 spring application: name :cloud-config-center#注册进Eureka服务器的微服务名称 cloud: config: server: git: url: git@github.com:zzyybs/springcloud-config.git #GitHUb上面对应的仓库名称 #搜索目录 search-paths: -springcloud-config #读取分支 label: master
配置 label:分支(branch)、name:服务名 、profiles:环境(dev/test/prod)
application.yml是用户级的资源配置项
bootstrap.yml是系统级,优先级别更高
bootstrap和application有着不同的约定,所以新增一个bootstrap.yml文件保证他们之间是分离的,BootstrapContext负责从外部源加载配置并解析配置。这从上下文共享一个从外部获取的Environment
pom spring-cloud-starter-config
spring-cloud-starter-actuator//自动重启
bootStrap.yml
server: 3355 spring: application: name: config-client cloud: #config客户端配置 config: label: master#分支名称 name: config #配置文件名称 profile: dev#读取后缀名称 uri: http://localhost:3344 #配置中心地址 #暴露监控端点 management: endpoints" web: exposure: include: "*"
@RestController
@RefreshScope
public class ConfigClientController {
@value("${config.info}")
private String configInfo;
@value("/configInfo")
public String getConfigInfo() {
return configInfo;//获取配置信息
}
}
发送配置端口 http://localhost:3355/actuator/refresh