前言
统一配置中心在开发中也用的非常多,主要是便于环境的调试变化带来的一些列问题
前提知识
了解统一注册中心的相关知识,以下是文章路径
https://blog.youkuaiyun.com/weixin_43055096/article/details/98474285
架构图
在图中也可以看到config的作用,主要作为为服务下,各个服务的配置,开发团队不需要为了修改服务就重启项目,在用了config之后可修改git上的配置中心更改。
要点
1 . gitee上的配置(也可也是github或者其他的代码托管平台)
可以看到我这里已经写好了相关的配置,这里的文件命名也是有讲究的就比如client.yml其实是作为一个公共的配置文件。具体的下面会阐述
主要代码
pom.xml 添加这个依赖即可
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
application.yml 主要配置
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/ #最好就在这里写上eureka地址
spring:
application:
name: config #在eureka上的命名
cloud:
config:
server:
git:
uri: https://gitee.com/wangchangwu/config-repo #代码托管平台的地址
username: wuge666 #账号
password: wuge666 #密码
basedir: /root/IDEA/IdeaProjects/springconfig/baseDir #git的本地仓库
management:
endpoints:
web:
exposure:
include: "*" #暴露接口,让自己的配置可供其他服务访问
SpringconfigApplication 启动类
package com.wuge.springconfig;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.config.server.EnableConfigServer;
@SpringBootApplication
@EnableDiscoveryClient
@EnableConfigServer
public class SpringconfigApplication {
public static void main(String[] args) {
SpringApplication.run(SpringconfigApplication.class, args);
}
}
注意点
我们先来看几个截图
1 . client.yml2.client-uev.yml
看到这里我们再来访问一下http://localhost:8080/client-a.yml首先说你访问http://localhost:8080/client.yml是访问不了的因为上述访问是默认访问的路径你可以加a b c d都ok
要点
好现在我们在访问以下这个路径http://localhost:8080/client-uev.yml 神奇的事情就发生了
这里我们可以得知client.yml其实是作为一个公共的配置 ,而client-uev.yml则是将服务不同的配置加入进去。这其实是一个坑
我们在再来访问eureka
在Application可以看到config就注册进去了