SpringCloud6-Config分布式配置中心
springcloud版本: 【Finchley 版】
结构图 |
分布式配置中心
集中管理配置文件-提供了集中化的外部配置支持,配置服务器为各个微服务的环境提供了一个中心化的外部配置
动态配置
springcloud Config分为客户端和服务端(分布式配置中心,是一个独立的微服务应用)
推荐使用git管理版本信息
管理版本信息 |
- 新建github仓库
仓库地址: git@github.com:ai1045152332/springcloud-config.git
Mac下git 相关问题:
https://www.cnblogs.com/leisurezxy/p/8203435.html
https://baijiahao.baidu.com/s?id=1610561731776096216&wfr=spider&for=pc
- 克隆到本地
git clone ssh地址
上传
内容:spring:
profiles:active:
- dev
spring:
profiles: dev
application:name: eureka-client-user-dev
spring:
profiles: test
application:name: eureka-client-user-test
保存为UTF-8
上传的命令
git status
git add .
git commit -m ""
git push origin master
服务端配置 |
<dependencies>
<dependency>
<groupId>com.zjy.cloud</groupId>
<artifactId>springcloud-common</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
</dependencies>
yml
server:
port: 3344
spring:
application:
name: eureka-client-config-server
cloud:
config:
server:
git:
uri: https://github.com/ai1045152332/springcloud-config.git
username: ai1045152332
password: ********
# 缓存位置
basedir: /Users/zhaojianyu/IdeaProjects/springcloud-parent/eureka-client-config/src/main/resources/file
启动类
package com.zjy.config;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
@EnableConfigServer
@SpringBootApplication
public class ConfigServerApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigServerApplication.class, args);
}
}
访问方式
- http://localhost:3344/application-dev.yml
http://localhost:3344/application-test.yml
http://localhost:3344/application-xxxxx.yml - 第二种访问方式 http://localhost:3344/application/dev/master
- 第三种 http://localhost:3344/master/application-dev.yml
客户端配置 |
- 客户端配置上传到github
https://github.com/ai1045152332/springcloud-config/blob/master/cloud-config-client.yml - 创建config-client项目
2.1 pom文件
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
2.2 bootstrap.yml系统级资源配置项,优先级高
spring:
cloud:
config:
name: cloud-config-client # github上配置文件名
profile: dev # 本次访问的配置项
label: master
uri: http://localhost:3344 # 连接server
application.yml (是用户级)
spring:
application:
name: cloud-config-client
接口
/* 描述: 配置客户端rest访问配置 @author zhaojianyu @create 2018-12-21 8:49 PM */
@RestController
public class ConfigClientRest {@Value("${spring.application.name}")
private String applicationName;
@Value("${eureka.client.service-url.defaultZone}")
private String eurekaServer;
@Value("${server.port}")
private String port;
@RequestMapping("/config")
public String getConfig(){
//通过3344 server获取配置信息
return "application:"+applicationName+"<br/>"+
"eurekaServer:"+eurekaServer+"<br/>"+
"port:"+port+"<br/>";
}
}
启动类无特殊改动
- 两种访问
并且已经注册到eureka server中
给server配置密码
https://blog.csdn.net/chengqiuming/article/details/80888355
还没有评论,来说两句吧...