Spring Cloud学习笔记 【篇一:分布式配置中心 Spring Colud Config】

一、简介

Spring Cloud Config提供了在分布式系统的外部配置的客户端支持。通过配置服务(Config Server)来为所有的环境和应用提供外部配置的集中管理。这些概念都通过Spring的EnvironmentPropertySource来抽象,所以它可以适用于各类Spring应用,同事支持任何语言的任何应用。它也能为你支持对应用开发环境、测试环境、生产环境的配置、切换、迁移。默认的配置实现通过git实现,同事非常容易的支持其他的扩展(比如svn等)。在spring cloud config 组件中,分两个角色,一是config server,二是config client。

二、构建Config Server

新建Maven Web项目,pom.xml文件如下:

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 3     <modelVersion>4.0.0</modelVersion>
 4     <groupId>com.captain.config</groupId>
 5     <artifactId>server</artifactId>
 6     <packaging>war</packaging>
 7     <version>0.0.1-SNAPSHOT</version>
 8     <name>server Maven Webapp</name>
 9     <url>http://maven.apache.org</url>
10     <dependencyManagement>
11         <dependencies>
12             <dependency>
13                 <groupId>org.springframework.cloud</groupId>
14                 <artifactId>spring-cloud-config</artifactId>
15                 <version>2.0.0.M7</version>
16                 <type>pom</type>
17                 <scope>import</scope>
18             </dependency>
19         </dependencies>
20     </dependencyManagement>
21     <dependencies>
22         <dependency>
23             <groupId>org.springframework.cloud</groupId>
24             <artifactId>spring-cloud-starter-config</artifactId>
25         </dependency>
26         <dependency>
27             <groupId>org.springframework.cloud</groupId>
28             <artifactId>spring-cloud-config-server</artifactId>
29         </dependency>
30     </dependencies>
31     <repositories>
32         <repository>
33             <id>spring-milestones</id>
34             <name>Spring Milestones</name>
35             <url>https://repo.spring.io/libs-milestone</url>
36             <snapshots>
37                 <enabled>false</enabled>
38             </snapshots>
39         </repository>
40     </repositories>
41 </project>

新建class类ConfigServerApplication用作程序入口,@EnableConfigServer注解开启config server功能。

1 @SpringBootApplication
2 @EnableConfigServer
3 public class ConfigServerApplication {
4
5     public static void main(String[] args) {
6         SpringApplication.run(ConfigServerApplication.class, args);
7     }
8 }

在classpath下新建文件application.yml作为服务配置文件。请注意yml语法,对此不熟悉的请百度,在此不做赘述。此例中使用了本地配置文件,如果使用远程配置文件需要对application.yml做相应调整。

 1 server :
 2  port : 8001
 3
 4 spring :
 5  profiles :
 6   active : native
 7  cloud :
 8   config :
 9    server :
10     native :
11      searchLocations : classpath:/properties/

在classpaht下新建properties文件夹,并新建两个配置文件config-dev.properties  config-test.properties。

config-dev.properties:

1 name=captain-dev

config-test.properties:

1 name=captain-test

启动程序,访问http://localhost:8001/config/test可以看到返回配置结果:

{
  "name": "config",
  "profiles": [
    "test"
  ],
  "label": null,
  "version": null,
  "state": null,
  "propertySources": [
    {
      "name": "classpath:/properties/config-test.properties",
      "source": {
        "name": "captain-test"
      }
    }
  ]
}

三、构建Config Client

Maven新建config client项目,pom.xml文件如下:

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 3     <modelVersion>4.0.0</modelVersion>
 4     <groupId>com.captain.config</groupId>
 5     <artifactId>client</artifactId>
 6     <packaging>war</packaging>
 7     <version>0.0.1-SNAPSHOT</version>
 8     <name>client Maven Webapp</name>
 9     <url>http://maven.apache.org</url>
10     <dependencyManagement>
11         <dependencies>
12             <dependency>
13                 <groupId>org.springframework.cloud</groupId>
14                 <artifactId>spring-cloud-config</artifactId>
15                 <version>1.1.1.RELEASE</version>
16                 <type>pom</type>
17                 <scope>import</scope>
18             </dependency>
19         </dependencies>
20     </dependencyManagement>
21     <dependencies>
22         <dependency>
23             <groupId>org.springframework.boot</groupId>
24             <artifactId>spring-boot-starter-web</artifactId>
25         </dependency>
26         <dependency>
27             <groupId>org.springframework.cloud</groupId>
28             <artifactId>spring-cloud-config-client</artifactId>
29         </dependency>
30     </dependencies>
31 </project>

新建程序入口,为了测试方便将测试接口代码也放在了该类中:

 1 @SpringBootApplication
 2 @RestController
 3 public class ConfigClientApplication {
 4
 5     public static void main(String[] args) {
 6         SpringApplication.run(ConfigClientApplication.class, args);
 7     }
 8
 9     @Value("${name}")  //取配置中心中key为name的值
10     String name;
11
12     @RequestMapping("/test")
13     String test() {
14         return "hello " + name;
15     }
16 }

在classpath下新建

application.yml:

server :
 port : 8002

bootstrap.yml:

spring :
 cloud :
  config :
   name : config
   profile : test
   label : master
   uri : http://localhost:8001

启动程序,访问http://localhost:8002/test输出hello captain-test

参考资料:http://blog.csdn.net/fang_sh_lianjia/article/details/52356197

原文地址:https://www.cnblogs.com/captainx/p/8482791.html

时间: 2024-09-30 16:14:58

Spring Cloud学习笔记 【篇一:分布式配置中心 Spring Colud Config】的相关文章

史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)(Finchley版本)

在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件.它就是Spring Cloud Config. 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.在spring cloud config 组件中,分两个角色,一是config server,二是co

SpringCloud学习(六)分布式配置中心(Spring Cloud Config)(Finchley版本)

在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件.它就是Spring Cloud Config. 简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.在spring cloud config 组件中,分两个角色,一是config server,二

Spring Cloud构建微服务架构分布式配置中心

Spring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分.其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息.加密/解密信息等访问接口:而客户端则是微服务架构中的各个微服务应用或基础设施,它们通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息.Spring Cloud Conf

Spring Cloud构建微服务架构 分布式配置中心(加密解密)

在微服务架构中,我们通常都会采用DevOps的组织方式来降低因团队间沟通造成的巨大成本,以加速微服务应用的交付能力.这就使得原本由运维团队控制的线上信息将交由微服务所属组织的成员自行维护,其中将会包括大量的敏感信息,比如:数据库的账户与密码等.很显然,如果我们直接将敏感信息以明文的方式存储于微服务应用的配置文件中是非常危险的.针对这个问题,Spring Cloud Config提供了对属性进行加密解密的功能,以保护配置文件中的信息安全.比如下面的例子: spring.datasource.use

业余草 SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)(Finchley版本)

在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件.它就是Spring Cloud Config. 一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.在spring cloud config 组件中,分两个角色,一是config server

springCloud学习-分布式配置中心(Spring Cloud Config)

1.简介 Spring Cloud Config :分布式配置中心,方便服务配置文件统一管理,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.在spring cloud config 组件中,分两个角色,一是config server,二是config client. 2.config server从本地读取配置文件 2.1.在父工程的pom.xml中的 <modules>节点下 添加如下代码 <module>config-server</modul

Spring Cloud学习笔记-010

分布式配置中心:Spring Cloud Config Spring Cloud Config是Spring Cloud团队创建的一个全新的项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端和客户端两个部分.其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息.加密/解密信息等访问接口:而客户端则是微服务架构中的各个微服务应用或基础设施,他们通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从配置

spring cloud 入门系列七:基于Git存储的分布式配置中心--Spring Cloud Config

我们前面接触到的spring cloud组件都是基于Netflix的组件进行实现的,这次我们来看下spring cloud 团队自己创建的一个全新项目:Spring Cloud Config.它用来为分布式系统中的基础设施和微服务提供集中化的外部配置支持,分为服务端和客户端两个部分. 其中服务端也称为分布式配置中心,他是独立的微服务应用,用来连接配置仓库并为客户端提供获取接口(这些接口返回配置信息.加密.解密信息等): 客户端是微服务架构中的各个微服务应用或基础设施,它们通过制定的配置中心来管理

企业级 SpringCloud +SpringBoot(六) 分布式配置中心(Spring Cloud Config)

一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.在spring cloud config 组件中,分两个角色,一是config server,二是config client. 二.构建Config Server 创建一个spring-boot项目,取名为config-s

JAVA springboot ssm b2b2c多用户商城系统源码(六) 分布式配置中心(Spring Cloud Config)

一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中.在spring cloud config 组件中,分两个角色,一是config server,二是config client. 二.构建Config Server 创建一个spring-boot项目,取名为config-s