高可用的分布式配置中心(Spring Cloud Config)
上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下:
一、准备工作
继续用前几节课复用的eureka-server工程,不用动。
二、改造config-server
在pom.xml张加入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
application.yml加入
eureka:
client:
serviceUrl:
defaultZone: http://localhost:1210/eureka/
三、改造config-client
在pom.xml张加入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
ConfigClentApplication.java加入
@EnableEurekaClient 注解
bootstrap.properties 改成这样
spring.application.name=config-client
spring.cloud.config.label=master
spring.cloud.config.profile=dev
server.port=1218
eureka.client.serviceUrl.defaultZone=http://localhost:1210/eureka/
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.serviceId=config-server
开始测试
那么现在依次启动 EurekaServer,ConfigServer,ConfClientgon工程。
启动后,访问: http://localhost:1210/
会看到两个服务加入到注册中心。
访问: http://localhost:1218/hi
ok!到这里就结束了,利用负载均衡,就可以实现高可用的配置中心。