1. 程式人生 > >高併發架構實戰(五) Spring Boot 整合 spring-cloud-config

高併發架構實戰(五) Spring Boot 整合 spring-cloud-config

一、配置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: 配置服務地址。

三、測試

大功告成!