前言
由于此次的客户只要求config配置中心使用直连模式,对高可用要求不高,故只需要配置一个config-server即可,然后在各个client端接入config-client的依赖即可
一、config-server
pom依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
需要注意的是,springboot2.0.x版本对应的cloud版本是Finchley的版本
我这里是2.0.5的版本,对应的 cloud版本是:
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
这里特别注意,2.0.x的版本,config的版本最多支持到2.0.5,笔者在此处踩坑了,一直用2.0.6编译都不通过
补充一点:后面我又尝试了<spring-cloud.version>Finchley.SR4</spring-cloud.version>的版本,可以兼容2.0.6的版本
另外,如果是2.1.x的版本,对应的cloud版本是:
<spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
bootstrap.yml文件配置
server:
port: 8011
spring:
application:
name: spring-cloud-config-server
cloud:
config:
server:
git:
uri: git@gitlab.test.com:order-center/spring-cloud-config-repo.git
ignoreLocalSshSettings: true
cloneOnStart: true
# hostKey: gitlab.deepexi.top #当指定hostKeyAlgorithm时需要加上
# hostKeyAlgorithm: ssh-rsa
privateKey: |
-----BEGIN RSA PRIVATE KEY-----
XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
...
-----END RSA PRIVATE KEY-----
启动类加注解
@SpringBootApplication
@EnableConfigServer
public class ConfigServer {
二、config-client
pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- spring cloud config-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<!-- spring cloud config-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
bootstrap.yml文件配置
spring:
application:
name: order
profiles:
active: dev
cloud:
config:
uri: http://localhost:8011 # config server地址
label: master #配置文件的Git项目地址对应的分支
# fail-fast: true
retry:
initial-interval: 2000
max-interval: 10000
multiplier: 2
max-attempts: 10
在使用到的地方配置注解,这里以test接口为例
@SpringBootApplication
@RefreshScope
@RestController
public class StartupApplication {
@Value("${spring.datasource.url}")
private String datasourceUrl;
@RequestMapping("/test")
public String home() {
return datasourceUrl;
}
public static void main(String[] args) {
SpringApplication.run(StartupApplication.class, args);
}
}
测试
访问localhost:8080/test 即可返回在git仓库地址配置spring.datasource.url属性的信息
版权声明:本文为qq_25268441原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。