原文鏈接:http://www.dubby.cn/detail.html?id=9022
為了高可用一般最傳統(tǒng)的做法就是:
這個就是使用一個負載均衡設(shè)備來隱藏后面的配置服務(wù)器集群,這是很容易想到的,不過Spring Cloud給我另一種實現(xiàn),那就是服務(wù)化配置中心。
也就是把配置中心也注冊到Eureka-Server上稱為一個服務(wù),這樣,就和其他普通的服務(wù)一樣做到了多實例,負載均衡,當然也做到了高可用,還有其他的一些功能特性,比如,熔斷降級啊,失敗策略等。
那么我們來看一下如何做到服務(wù)化配置中心:
啟動eureka-server:
參考:從最簡單的Spring Cloud應(yīng)用開始
改造原有的配置服務(wù)端:
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); }}
結(jié)果:
先請求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:
至此,刷新結(jié)束……
聯(lián)系客服