SpringCloud搭建Config分布式配置中心 ╰+哭是因爲堅強的太久メ 2021-10-19 02:00 419阅读 0赞 配置中心作用就是统一管理各个微服务项目的配置文件。 配置中心主要分为: 1、ConfigServer(配置中心服务端),用于获取远程仓库的所有配置文件。 2、ConfigClient(配置中心客户端),注册在服务端上,然后获取自己所需的配置文件。 本次项目采用的Spring boot版本是**2.1.6**,如果是**2.0.X**版本,可能会出现某些差异。 直接上代码,首先创建2个项目: ![20190814143016668.png][] 本次项目采用git远程仓库来存储配置文件,所以需要在github上创建一个仓库 。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjQ4MDI5_size_16_color_FFFFFF_t_70][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjQ4MDI5_size_16_color_FFFFFF_t_70 1][] ### 一、config\_server 的搭建: ### 1、pom.xml <!--web依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--配置中心服务端标识--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> -------------------- 2、bootstrap.yml(bootstrap开头的配置文件,优先级高于properties): server: port: 8010 spring: application: name: config-server cloud: config: server: git: #配置git仓库地址 uri: https://github.com/ZhangYi520/******.git #配置仓库路径,也就是github上用于存储配置文件的文件夹名字 searchPaths: ****** #访问git仓库的用户名 username: ****** #访问git仓库的用户密码 password: ****** #配置仓库的分支 label: master -------------------- 3、启动类 import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.config.server.EnableConfigServer; @SpringBootApplication @EnableConfigServer//配置中心服务端,标志该服务是config服务端 public class ConfigServerApplication { public static void main(String[] args) { SpringApplication.run(ConfigServerApplication.class, args); System.out.println("启动完毕---------------------------------------"); } } -------------------- 4、启动服务端 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjQ4MDI5_size_16_color_FFFFFF_t_70 2][] 直接在浏览器输入 htttp://ip:端口/文件名,就能成功获取到文件内容。 ![20190814144650202.png][] ### 二、config\_client 的搭建: ### 1、pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> -------------------- 2、bootstrap.yml server: port: 9005 # port: 9006 spring: application: name: config-client3 #配置文件的前缀,必须对应 cloud: config: label: master profile: test #配置文件的后缀,必须对应 # uri: http://localhost:8010/ discovery: enabled: true service-id: config-server #configServer端的name,必须对应 -------------------- 3、启动类(没啥特殊的地方) @SpringBootApplication public class ConfigClientApplication { public static void main(String[] args) { SpringApplication.run(ConfigClientApplication.class, args); System.out.println("启动完毕---------------------------------------"); } } -------------------- 4、先在配置文件中定义一个变量,在编写一个Controller来获取配置文件的变量,如果获取成功,则表示配置文件加载成功了。 ![20190814145357991.png][] @RestController public class Demo { @Value("${foo}") String foo; @GetMapping("/hi") public String hi1() { return foo; } } -------------------- 5、先启动server端,成功后启动client端。启动成功后,访问Controller接口。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjQ4MDI5_size_16_color_FFFFFF_t_70 3][] ![20190814145559109.png][] 成功获取倒了参数,说明配置完成。 [20190814143016668.png]: /images/20211018/d14569d573dd40f59992788693f65363.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjQ4MDI5_size_16_color_FFFFFF_t_70]: /images/20211018/9911ec4376094764bae5f82eb21bc39a.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjQ4MDI5_size_16_color_FFFFFF_t_70 1]: /images/20211018/d16e18958356463a83b9095b5c005c0b.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjQ4MDI5_size_16_color_FFFFFF_t_70 2]: /images/20211018/ef8a2c81c353496b828ad4319aa0193d.png [20190814144650202.png]: /images/20211018/9bec61d1484c4e92af3109e9d21517ea.png [20190814145357991.png]: /images/20211018/e19232037afe42238c493960051a0e5a.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjQ4MDI5_size_16_color_FFFFFF_t_70 3]: /images/20211018/6b4037a4a913462fa638b84f285fd97d.png [20190814145559109.png]: /images/20211018/c316a4f5a8c04c55bbb8a76dd7f931c6.png
还没有评论,来说两句吧...