您的位置:首页 > 编程语言 > Java开发

Spring cloud config 入门使用及指导说明(单机篇)

2018-01-09 13:45 861 查看

1、基本概念和方案

Spring config 项目提供了一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分。
Spring cloud config Server 管理git或svn的外部配置,集中配置到所有客户端。
Spring cloud config Client 根据Spring框架的Environment和PropertySource从Spring cloud config Server 获取配置。

逻辑架构图如下:



Spring cloud config Server统一管理存储在git或者svn的配置文件,各子系统A、B集成Spring cloudconfig Client,并从Spring cloud config Server端获取相关的配置。

Spring cloud config Server 可通过Eureka Server支持集群负载均衡。

2、搭建Config Server

  第一步:创建一个spring boot 项目,config-server,pom.xml如下

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>config-server</artifactId>
<version>0.0.1-SNAPSHOT</version>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath />
</parent>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.tmatesoft.svnkit</groupId>
<artifactId>svnkit</artifactId>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

第二步:新建一个启动类Application


@SpringBootApplication
@EnableConfigServer
public class Application
{

public static void main(String[] args)
{
SpringApplication.run(Application.class, args);
}

}

第三步:新建配置文件(src/main/resources),application.properties

SVN配置:(默认读取spring-config/trunk下的配置文件,根据实际情况修改)

server.port=9955

spring.profiles.active=subversion
spring.cloud.config.server.svn.uri=http://127.0.0.1:8090/svn/spring-config
spring.cloud.config.server.svn.username=test
spring.cloud.config.server.svn.password=test
#spring.cloud.config.server.svn.search-paths={application}
spring.cloud.config.server.svn.default-label=trunk
#spring.cloud.config.server.svn.basedir=/data

Git配置:

server.port=9955

spring.cloud.config.server.git.uri=https://github.com/huanghuixj/springcloudconfig.git
#spring.cloud.config.server.git.searchPaths=respo
spring.cloud.config.label=master
#spring.cloud.config.server.git.username=test
#spring.cloud.config.server.git.password=test


spring.cloud.config.server.git.uri:配置git仓库地址
spring.cloud.config.server.git.searchPaths:配置仓库路径
spring.cloud.config.label:配置仓库的分支
spring.cloud.config.server.git.username:访问git仓库的用户名
spring.cloud.config.server.git.password:访问git仓库的用户密码

第四步:构建并启动程序,测试访问

浏览器中输入,http://127.0.0.1:9955/jdbc-test.properties,或者http://127.0.0.1:9955/jdbc/test

3、搭建Config Client

第一步:创建一个Spring boot项目,config-client,pom.xml如下



<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>com.tesr</groupId>
<artifactId>config-client</artifactId>
<version>0.0.1-SNAPSHOT</version>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath />
</parent>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
<version>1.4.0.RELEASE</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

第二步:新建配置文件(src/main/resources),bootstrap.properties


#multiple files separated by commas ","
spring.cloud.config.name=jdbc,log
spring.cloud.config.profile=test

#if svn server then trunk, if git server then master
spring.cloud.config.label=trunk

#spring cloud server address
spring.cloud.config.uri=http://127.0.0.1:9955

第三步:新建启动测试类Application,浏览器shuru



@SpringBootApplication
@RestController
public class Application
{

public static void main(String[] args)
{
SpringApplication.run(Application.class, args);
}

@Value("${foo}")
private String foo;

@RequestMapping(value = "/hi")
public String hi()
{
return foo;
}
}

4、Demo下载,Git地址

https://github.com/huanghuixj/springcloudconfig

9fba
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息