高併發架構實戰(五) Spring Boot 整合 spring-cloud-config
阿新 • • 發佈:2018-12-10
一、配置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: 配置服務地址。
三、測試
大功告成!