SpringCloud Config配置中心

SpringCloud Config提供了一种集中化的配置管理方式,通过Git或SVN存储配置文件,并能在配置更新后实时同步到分布式应用。Config Server负责读取配置并提供API,Config Client则能自动加载Server端的配置。当Server端配置变更时,可通过POST请求/actuator/refresh接口来刷新Client应用的配置。
摘要由CSDN通过智能技术生成

SpringCloud Config可以将分布式部署的应用的配置文件进行集中化管理。将配置文件利用Git或SVN集中存放,修改更新后可以同步到分布式各个应用中。

在这里插入图片描述

1 Config Server端

作用:读取Git或SVN配置文件,形成服务API。 /ydma/course或/ydma-course.properties。

  1. 在SVN中定义properties配置文件
提示:对应svn配置文件放在ydma-configs/config路径下面。

/ydma-configs/config/ydma.properties
/ydma-configs/config/ydma-course.properties
/ydma-configs/config/ydma-direction.properties
  1. 创建config-server端项目,在pom.xml引入spring-cloud-config-server、spring-cloud-starter-config、svnkit
<parent>
    <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
</parent>
<dependencyManagement>
    <dependencies>
        <!-- spring-cloud-parent -->
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-dependencies</artifactId>
          <version>Finchley.RELEASE</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>
            spring-cloud-starter-config
        </artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
    <groupId>org.tmatesoft.svnkit</groupId>
    <artifactId>svnkit</artifactId>
</dependency>
</dependencies>
  1. 在application.properties文件中定义svn参数
server.port = 9988
spring.application.name=ydma-config
############SVN####################
spring.profiles.active=subversion
spring.cloud.config.server.svn.uri=https://192.168.30.177/svn/java30/ydma-configs/
spring.cloud.config.server.default-label=config
spring.cloud.config.server.svn.username=java
spring.cloud.config.server.svn.password=123

提示:对应svn配置文件放在ydma-configs/config路径下面。

/ydma-configs/config/ydma.properties
/ydma-configs/config/ydma-course.properties
/ydma-configs/config/ydma-direction.properties
  1. 定义启动类,开启ConfigServer注解
@SpringBootApplication
@EnableConfigServer
public class RunConfigBoot {

    public static void main(String[] args) {
        SpringApplication.run(RunConfigBoot.class, args);
    }

}
  1. 启动程序,访问测试
    http://localhost:9988/ydma/course http://localhost:9988/ydma-course.properties

2 Config Client

  1. 在pom.xml中定义spring-cloud-config-client、spring-boot-starter-actuator
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-client</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2.在resources添加bootstrap.properties配置文件(去掉application.properties)

spring.cloud.config.name=ydma
spring.cloud.config.profile=course
spring.cloud.config.label=config
spring.cloud.config.uri=http://localhost:9988
management.endpoints.web.exposure.include=refresh,health,info
  1. 启动程序,client会自动加载Server端配置信息

3 Server端配置修改,刷新Client应用

使用actuator健康检查的/actuator/refresh服务(POST)即可。

  1. 使用curl工具

提示:下载curl工具包,配置系统PATH环境变量为I386目录。
// http://localhost:7004/actuator/refresh 指的是需要刷新的Client配置
curl -X POST http://localhost:7004/actuator/refresh

  1. 使用HttpClient工具编码(导入httpclient包)
    (这个指的是在服务端创建一个测试类,进行“http://localhost:7001/actuator/refresh”这个地址的刷新,就可以把Server配置端修改的内容刷新到Client端)
CloseableHttpClient client = null;
client = HttpClients.createDefault();
HttpPost post = new HttpPost("http://localhost:7001/actuator/refresh");
CloseableHttpResponse response = client.execute(post);
int statusCode = response.getStatusLine().getStatusCode();
System.out.println(statusCode);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值