原文鏈接:http://www./detail.html?id=9022
1.高可用
為了高可用一般最傳統(tǒng)的做法就是:
這個(gè)就是使用一個(gè)負(fù)載均衡設(shè)備來隱藏后面的配置服務(wù)器集群,這是很容易想到的,不過Spring Cloud給我另一種實(shí)現(xiàn),那就是服務(wù)化配置中心。
也就是把配置中心也注冊到Eureka-Server上稱為一個(gè)服務(wù),這樣,就和其他普通的服務(wù)一樣做到了多實(shí)例,負(fù)載均衡,當(dāng)然也做到了高可用,還有其他的一些功能特性,比如,熔斷降級(jí)啊,失敗策略等。
那么我們來看一下如何做到服務(wù)化配置中心:
啟動(dòng)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-server
server.port=7001
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
spring.cloud.config.server.git.uri=https:///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);
}
}
結(jié)果:
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:
至此,刷新結(jié)束……
|