Spring Cloud入门之Spring Cloud Config(高可用,刷新配置)

来源:互联网 发布:手机放线软件 编辑:程序博客网 时间:2024/04/30 17:13

原文链接:http://www.dubby.cn/detail.html?id=9022

1.高可用

为了高可用一般最传统的做法就是:

这个就是使用一个负载均衡设备来隐藏后面的配置服务器集群,这是很容易想到的,不过Spring Cloud给我另一种实现,那就是服务化配置中心

也就是把配置中心也注册到Eureka-Server上称为一个服务,这样,就和其他普通的服务一样做到了多实例,负载均衡,当然也做到了高可用,还有其他的一些功能特性,比如,熔断降级啊,失败策略等。

那么我们来看一下如何做到服务化配置中心

启动eureka-server:

参考:从最简单的Spring Cloud应用开始

改造原有的配置服务端:

POM:

<dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>spring-cloud-starter-eureka-server</artifactId></dependency>

application.properties:

spring.application.name=config-serverserver.port=7001eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/spring.cloud.config.server.git.uri=https://gitee.com/yangzheng1994/config.gitspring.cloud.config.server.git.search-paths=spring_cloud_configspring.cloud.config.server.git.username=1778520607@qq.comspring.cloud.config.server.git.password=yjfz12130612

Application.java:

@EnableDiscoveryClient@EnableConfigServer@SpringBootApplicationpublic 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=demoserver.port=7002spring.cloud.config.profile=devspring.cloud.config.label=masterspring.cloud.config.uri=http://localhost:7001/eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/spring.cloud.config.discovery.enabled=truespring.cloud.config.discovery.service-id=config-server

Application.java:

@EnableDiscoveryClient@SpringBootApplicationpublic 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 0
原创粉丝点击