Open Aeizzz opened 6 years ago
Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持。配置服务器为各应用的所有环境提供了一个中心化的外部配置。它实现了对服务端和客户端对Spring Environment和PropertySource抽象的映射,所以它除了适用于Spring构建的应用程序,也可以在任何其他语言运行的应用程序中使用。作为一个应用可以通过部署管道来进行测试或者投入生产,我们可以分别为这些环境创建配置,并且在需要迁移环境的时候获取对应环境的配置来运行。
配置服务器默认采用git来存储配置信息,这样就有助于对环境配置进行版本管理,并且可以通过git客户端工具来方便的管理和访问配置内容。当然他也提供本地化文件系统的存储方式,下面从这两方面介绍如何使用分布式配置来存储微服务应用多环境的配置内容。
新建一个新的spring boot项目,增加以来
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>
在主程序中增加注解@EnableConfigServer 来开启Config Server 如下
@EnableConfigServer
@EnableDiscoveryClient @SpringBootApplication @EnableConfigServer public class ConfigApplication { public static void main(String[] args) { SpringApplication.run(ConfigApplication.class, args); } }
yml文件中配置
server: port: 4001 spring: application: name: config profiles: active: native #使用本地配置 cloud: config: server: native: search-locations: classpath:/config/
这个配置文件是配置的本地文件,当然也可以配置git服务器 更改 cloud为
cloud: config: server: git: uri: https://www.****.com/config.git #配置存放git地址 username: **** #git账号 password: **** #git密码
关于config中配置文件的读取规则如下
/{application}/{profile}[/{label}] /{application}-{profile}.yml /{label}/{application}-{profile}.yml /{application}-{profile}.properties /{label}/{application}-{profile}.properties
增加依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency>
改造配置文件,将配置文件改名为bootstrap.yml
spring: application: name: admin #服务名称 profiles: active: dev cloud: config: fail-fast: true discovery: service-id: config #配置中心的ID enabled: true #是否开启 profile: ${spring.profiles.active} #当前激活的环境 label: ${spring.profiles.active} #当前激活的标签,对应git里的分支
这里需要格外注意:上面这些属性必须配置在bootstrap.yml中,config部分内容才能被正确加载。因为config的相关配置会先于application.yml,而bootstrap.yml的加载也是先于application.yml。
更多使用查看文档Spring Cloud Config
Spring Cloud Config
介绍
Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持。配置服务器为各应用的所有环境提供了一个中心化的外部配置。它实现了对服务端和客户端对Spring Environment和PropertySource抽象的映射,所以它除了适用于Spring构建的应用程序,也可以在任何其他语言运行的应用程序中使用。作为一个应用可以通过部署管道来进行测试或者投入生产,我们可以分别为这些环境创建配置,并且在需要迁移环境的时候获取对应环境的配置来运行。
配置服务器默认采用git来存储配置信息,这样就有助于对环境配置进行版本管理,并且可以通过git客户端工具来方便的管理和访问配置内容。当然他也提供本地化文件系统的存储方式,下面从这两方面介绍如何使用分布式配置来存储微服务应用多环境的配置内容。
构建Spring Cloud Config
新建一个新的spring boot项目,增加以来
在主程序中增加注解
@EnableConfigServer
来开启Config Server 如下yml文件中配置
这个配置文件是配置的本地文件,当然也可以配置git服务器
更改 cloud为
关于config中配置文件的读取规则如下
客户端的使用
增加依赖
改造配置文件,将配置文件改名为bootstrap.yml
这里需要格外注意:上面这些属性必须配置在bootstrap.yml中,config部分内容才能被正确加载。因为config的相关配置会先于application.yml,而bootstrap.yml的加载也是先于application.yml。
更多使用查看文档Spring Cloud Config