1.添加Config集中配置管理集群
本阶段项目完成总架构图中的第六阶段,添加Spring cloud config 实现集中配置管理,并实现Config高可用集群。
1.1.搭建远程GIT仓库
按照 “SpringCloud课件” 中 “07.Config配置中心.md” 章节中的内容,搭建远程GIT仓库。
1.2.上传配置文件
上传配置文件:
- 将食品微服务的配置文件名称修改为:food_server_10200-dev.yml、food_server_10201-dev.yml,然后上传到远程GIT仓库。
- 将商家微服务的配置文件名称修改为:business_server_10300-dev.yml、business_server_10301-dev.yml,然后上传到远程GIT仓库。
- 将购物车微服务的配置文件名称修改为:cart_server_10400-dev.yml、cart_server_10401-dev.yml,然后上传到远程GIT仓库。
- 将送货地址微服务的配置文件名称修改为:deliveryaddress_server_10500-dev.yml、deliveryaddress_server_10501-dev.yml,然后上传到远程GIT仓库。
- 将订单微服务的配置文件名称修改为:orders_server_10600-dev.yml、orders_server_10601-dev.yml,然后上传到远程GIT仓库。
- 将用户微服务的配置文件名称修改为:user_server_10100-dev.yml、user_server_10101-dev.yml,然后上传到远程GIT仓库。
为每一个微服务添加bootstrap.yml配置文件:
spring:cloud:config:name: business_server_10300 #应用名称,对应git中的文件名的前半部分profile: dev #开发环境名称,对应git中的文件名的后半部分label: master #git分支discovery: #从Eureka中获取config server信息enabled: true #开启服务发现service-id: config-server#eureka配置eureka:client:service-url:#将自己注册给defaultZone所指定的eureka server集群上defaultZone: http://eurekaServer13000:13000/eureka/,http://eurekaServer13001:13001/eureka/instance:prefer-ip-address: true #使用ip地址向eureka server进行注册instance-id: ${spring.cloud.client.ip-address}:${server.port} #设置eureka控制台中显示的注册信息lease-renewal-interval-in-seconds: 5 #续约间隔时间lease-expiration-duration-in-seconds: 15 #续约到期时间
在每一个微服务的bootstrap.yml配置文件中的name属性,修改成自己的名称即可。
1.3.修改SCC客户端
给每一个微服务的pom.xml文件中添加SCC的依赖
<!--加入spring-cloud-config的依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency>
1.4.创建SCC服务端
- 在父工程下,创建 Maven Module 子工程(工程名:config_server_15000;Packaging:jar)
在pom.xml文件中添加依赖
<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><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><!--热部署 gav --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency></dependencies>
创建主启动类
package com.neusoft; ```java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.config.server.EnableConfigServer;
@SpringBootApplication @EnableConfigServer //开启springcloud config服务端注解 public class MyApplication {
public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
}
4. 创建application.yml文件<br />```yamlserver:port: 15000spring:application:name: config-servercloud:config: #有关springcloud config的配置server:git:uri: https://gitee.com/yuhongjun01/elm-scc.git #git远程仓库地址#eureka配置eureka:client:service-url:#将自己注册给defaultZone所指定的eureka server集群上defaultZone: http://eurekaServer13000:13000/eureka/,http://eurekaServer13001:13001/eureka/instance:prefer-ip-address: true #使用ip地址向eureka server进行注册instance-id: ${spring.cloud.client.ip-address}:${server.port} #设置eureka控制台中显示的注册信息lease-renewal-interval-in-seconds: 5 #续约间隔时间lease-expiration-duration-in-seconds: 15 #续约到期时间
- 测试:启动项目,浏览器地址栏中输入:http://localhost:15000/business_server_10300-dev.yml
1.5.搭建SCC服务端集群
在父工程下,创建 Maven Module 子工程(工程名:config_server_15001;Packaging:jar)。此工程内容与config_server_15000工程一致,除了端口号不同。
server:port: 15001spring:application:name: config-servercloud:config: #有关springcloud config的配置server:git:uri: https://gitee.com/yuhongjun01/elm-scc.git #git远程仓库地址#eureka配置eureka:client:service-url:#将自己注册给defaultZone所指定的eureka server集群上defaultZone: http://eurekaServer13000:13000/eureka/,http://eurekaServer13001:13001/eureka/instance:prefer-ip-address: true #使用ip地址向eureka server进行注册instance-id: ${spring.cloud.client.ip-address}:${server.port} #设置eureka控制台中显示的注册信息lease-renewal-interval-in-seconds: 5 #续约间隔时间lease-expiration-duration-in-seconds: 15 #续约到期时间
