Spring Cloud入门之Spring Cloud Config(高可用,刷新配置)
原文链接:http://www.dubby.cn/detail.html?id=90221.高可用为了高可用一般最传统的做法就是:这个就是使用一个负载均衡设备来隐藏后面的配置服务器集群,这是很容易想到的,不过Spring Cloud给我另一种实现,那就是服务化配置中心。也就是把配置中心也注册到Eureka-Server上称为一个服务,这样,就和其他普通的服务一样做到了多实例,负载均衡,当然也做到了
原文链接:http://www.dubby.cn/detail.html?id=9022
1.高可用
为了高可用一般最传统的做法就是:
这个就是使用一个负载均衡设备来隐藏后面的配置服务器集群,这是很容易想到的,不过Spring Cloud给我另一种实现,那就是服务化配置中心。
也就是把配置中心也注册到Eureka-Server上称为一个服务,这样,就和其他普通的服务一样做到了多实例,负载均衡,当然也做到了高可用,还有其他的一些功能特性,比如,熔断降级啊,失败策略等。
那么我们来看一下如何做到服务化配置中心:
启动eureka-server:
改造原有的配置服务端:
POM:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
application.properties:
spring.application.name=config-server
server.port=7001
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
spring.cloud.config.server.git.uri=https://gitee.com/yangzheng1994/config.git
spring.cloud.config.server.git.search-paths=spring_cloud_config
spring.cloud.config.server.git.username=1778520607@qq.com
spring.cloud.config.server.git.password=yjfz12130612
Application.java:
@EnableDiscoveryClient
@EnableConfigServer
@SpringBootApplication
public class Application {
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class).web(true).run(args);
}
}
改造配置客户端:
pom:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
bootstrap.properties:
spring.application.name=demo
server.port=7002
spring.cloud.config.profile=dev
spring.cloud.config.label=master
spring.cloud.config.uri=http://localhost:7001/
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=config-server
Application.java:
@EnableDiscoveryClient
@SpringBootApplication
public class Application {
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class).web(true).run(args);
}
}
结果:
2.刷新配置
先请求http://localhost:7002/from:
在客户端添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
然后先更新git上的配置信息,并push上去:
使用post方法请求http://localhost:7002/refresh:
再次请求http://localhost:7002/from:
至此,刷新结束……
更多推荐
所有评论(0)