高并发架构实战(五) Spring Boot 集成 spring-cloud-config

Spring Boot 2.0.4 集成 spring-cloud-config 2.0.1。
项目源码地址

一、配置config服务端

新建配置服务项目,如config-server。

1. 在config-server项目中添加依赖

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config</artifactId>
            <version>2.0.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>

2. 创建配置仓库

在github上新建一个空项目:https://gitee.com/lilyssh/config-repo 作为配置仓库。
在config-repo项目中新建一个公用的配置文件application-dev.yml,内容如下:

logging:
  level:
    cn.lilyssh: info

  dubbo:
    registry:
      address: zookeeper://ssh.qianxunclub.com:2181

再新建一个数据库配置文件mysql-dev.yml,内容如下:

spring:
  datasource:
    druid:
      url: jdbc:mysql://db.qianxunclub.com:3306/demo

mybatis-plus:
  global-config:
    db-config:
      id-type: AUTO

3. 在config-server项目application.yml中配置仓库信息

spring:
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/lilyssh/config-repo.git
          basedir: config/data
          search-paths: /**
  • uri:上一步创建的配置仓库地址。
  • basedir: 把远程仓库数据下载到本地的目录。由于源码中写着会访问到父级目录,所以此处需要设置为两级目录。
  • search-paths: 要下载的远程仓库的目录。

4. 测试访问远程仓库配置

在浏览器中,输入地址http://localhost:8888/{app}/{profile} 由于刚在远程仓库建的配置文件名为application-dev.yml,所以需要访问
http://localhost:8888/application/dev 进行测试,会看到:

{
    "name":"application",
    "profiles":[
        "dev"
    ],
    "label":null,
    "version":"9fdeb7331e3e78da436b0a404707c1873fe72076",
    "state":null,
    "propertySources":[
        {
            "name":"https://gitee.com/lilyssh/config-repo.git/application-dev.yml",
            "source":{
                "logging.level.cn.lilyssh":"info",
                "spring.dubbo.registry.address":"zookeeper://ssh.qianxunclub.com:2181"
            }
        }
    ]
}

二、配置config客户端

1. 在order-provider项目中添加依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config</artifactId>
            <version>2.0.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

2. 新建配置文件bootstrap.yml

spring:
  cloud:
    config:
      name: application,mysql
      profile: dev
      uri: http://config.qianxunclub.com
  • name: 配置文件名的前半部分,如“db-dev.yml”中的db。如果是多个,以逗号分隔。
  • profile: 配置文件名的后半部分,如"db-dev.yml中得dev。
  • uri: 配置服务地址。

三、测试


大功告成!

猜你喜欢

转载自blog.csdn.net/lilyssh/article/details/82754702