配置中心
在生产阶段,微服务的项目每一个功能模块都是一个微服务,而且某个功能模块的微服务通常不会一台,它们会以集群的方式存在,主要的目的是为了负载均衡、系统安全。
但是也会存在一些问题:后期维护的问题、配置的问题
配置中心目的:
就是为了让一个集群中的微服务的application配置文件保持一致。
原理:
测试步骤:
前提条件:在windows下安装了git
①创建一个远程仓库(码云或者github)
②将远程仓库克隆到本地,随便到任意一个文件夹下,右键开启git的命令行工具
③进入拉下来的文件夹,在该文件夹下创建一个application.yml文件
打开文件添加以下内容
④将文件提交到远程仓库
首先先进入java63本地仓库主目录中
•将文件添加到缓冲区
•提交到本地仓库
•推送到远程仓库
⑤创建一个配置中心微服务,需要单独的运行,然后导入依赖
<dependencies>
<!-- spring boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<!-- 配置中心 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
</dependencies>
⑥创建application.yml文件,添加以下内容
⑦编写启动类,运行配置中心
⑧启动配置中心,打开浏览器进行测试
在浏览器地址栏中输入以下内容,获取配置文件中指定环境的配置
http://localhost:8888/application/test
案例:微服务从配置中心中获取配置信息
①在woniu63目录下创建application-client.yml文件,指定product模块的配置,然后将product模块的application.yml文件中的配置信息拷贝一份过来,适当做些修改:端口号、instance id
②将application-client.yml文件推送到远程仓库中
方法参考前面步骤
③创建一个product模块,它的application.yml文件是来自配置中心中(通过配置中读取到远程仓库中的内容)将8001中除了application.yml文件以外的文件、pom都拷贝一份到8003中,目录结构如下:
④在pom中引入配置中心client的依赖
<!-- 配置中心client -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
## ```⑤在resources目录下创建bootstrap.yml文件,该文件的作用主要是用来在启动程序时读取application.yml文件之前加载一些其他的数据,这里就用来从配置中心中读取想要的数据,bootstrap.yml和application.yml都是spring boot程序默认支持的文件,而且bootstrap.yml是在执行application.yml之前执行。 添加以下内容:主要是配置用来连接配置中的内容
都启动完毕之后,注意观察注册中心是否注册到有微服务,如果有表示成功!