Spring Cloud Config 分布式配置中心学习笔记

Spring Cloud Config 分布式配置中心学习笔记

1、简介

Spring Cloud Config是用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持的,它由服务端和客户端构成;其中,服务端也称为分布式配置中心,是一个独立的微服务应用,用来连接配置仓库、为客户端提供支持;客户端则一般是各个微服务应用本身,它们通过指定服务端来管理自身的配置。
Spring Cloud Config默认支持Git作为配置仓库,存储各个微服务的配置信息,同时也能支持其他的存储方式,如:SVN、本地化文件系统。

2、实现服务端

分为3步:

  • 创建config-server-git功能,添加关键依赖:
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config</artifactId>
            <version>1.4.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-server</artifactId>
    </dependency>
</dependencies>
  • 启动类添加注解@EnableConfigServer,开启配置中心服务端功能
@EnableConfigServer
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(VigalynMsUmApplication.class, args);
    }
}
  • application.yml增加配置信息
spring
  application:
    name: config-server-git
  cloud:
    config:
      server:
        git:
          uri: https://github.com/wind3/config-server-git.git
      username: wind3
      password: 123
server:
  port: 8100

访问配置信息的URL与配置文件的映射关系如下:

/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties

{label}对应Git上不同的分支,{application}对应服务端名称,{profile}对应环境名称;
url例子:http://localhost:8100/config-client-git/dev/master

3、实现客户端

分为两步:

  • 客户端项目增加关键依赖:
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
  • bootstrap.yml增加配置,指定config-server-git的位置:
spring:
  application:
    name: config-client
  cloud:
    config:
      uri: http://localhost:8100/
      profile: dev
      label: master
server:
  port: 8080

注意:上面这些属性必须配置在bootstrap.yml或bootstrap.properties中,这样config-server-git中的配置信息才能被正确加载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值