一、实验目的要求
实验目的:
在下图中,用户会先将配置文件推送到Git或SVN中,然石在微服务应用(Config Client )启动时,会从配置中心(Config Server )中获取配置信息,而配置中心会根据配置从Git或SVN中获取相应的配置信息。
试验要求:
服务器端(Config Server ):也被称之为分布式配置中心,它是一个独立的微服务应用,主要用于集中管理应用程序各个环境下的配置,默认使用Git存储配置文件内容,也可以使用SVN存储,或者是本地文件存储。
客户端(Config Client ):是 Config Server的客户端,即微服务架构中的各个微服务应用。它们通过指定的配置中心( Config Server )来管理应用资源以及与业务相关的配置内容,并在启动时从配置中心获取和加载配置信息。
二、实验环境
eclipse、jdk8.0、maven3.5.2
三、实验内容
任务一 使用本地存储的方式实现配置管理
1、搭建Client Server
1.1 创建配置中心工程microservice-config-server,并在pom.xml中引入Config Server 的依赖。
选择File–>New–>Maven–>Maven Project,两个都要勾选,点击next.
填写项目的基本信息,点击finsish
在pom.xml中引入Config Server 的依赖。
1.2 编写配置文件appication.xml,添加端口号和存储属性等信息。
1.3在src/resourse目录下创建3个分别用于开发、预发布和测试的资源配置文件,并在文件中编写以下内容:
Application-dev.yml中编写内容:clientParam:native-dev-1.0
Application-prod.yml中编写内容:clientParam:native-prid-1.0
Application-test.yml中编写内容:clientParam:native-test-1.0
1.4创建启动类,并在类上添加@EnableConfigServer注解以开启服务端功能。
1.5启动工程,测试应用。
按照此格式发起请求:http://localhost:8888/{applicationname}/{env}/{label}
本应用的访问地址为http://localhost:8888/microservice-config-server/dev
,游览器显示效果如下:
从上图可以看出:游览器中的json信息显示出来应用名microservice-config-server,环境名字dev,以及资源文件路径和文件内容等信息。
通过游览器访问http://localhost:8888/application-dev.yml
,显示效果如下图所示:
2、搭建Client Client
2.1 创建测试端工程microservice-config-client,并在其pom.xml中添加Config和Web的依赖。
2.2 编写配置文件bootstrap.yml,在其中配置应用名称、服务中心地址、需要访问的文件和端口号等信息
2.3 创建启动类,并在类上添加@RestController注解。
2.4 启动工程,测试应用。应用启动成功后,可以通过地址http://localhost:8801/hello
测试应用是否能正常启动
此时通过游览器访问http:localhost:8801/clientParam
,即可获取配置文件中的信息。
任务二 使用Git存储方式实现配置管理
1、配置Git。在Git上创建microservice-study-config目录,并在目录中增加开发、预发布和测试的配置文件,分别编辑三个文件中的内容如下:
Application-dev.yml中编写内容:clientParam:git-dev-1.0
Application-prod.yml中编写内容:clientParam:git-prid-1.0
Application-test.yml中编写内容:clientParam:git-test-1.0
2、修改服务端配置文件,将microservice-config-server工程的配置文件中本地文件存储方式的配置删除或者注销,并 添加git的配置信息。
3、修改客户端配置文件,在microservice-config-client工程的配置文件中添加属性label,并将其属性值设置为master。
4、启动工程,测试应用。分别启动Spring Cloud Config的服务端和客户端工程,通过访问地址http://localhost:8081/clientParam
,发现已经可以获取Git中的配置信息了。