本文小編為大家詳細介紹“spring cloud config整合gitlab如何搭建分布式的配置中心”,內容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“spring cloud config整合gitlab如何搭建分布式的配置中心”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供邳州網(wǎng)站建設、邳州做網(wǎng)站、邳州網(wǎng)站設計、邳州網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、邳州企業(yè)網(wǎng)站模板建站服務,十年邳州做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
前提:在gitlab中的工程下新建一個配置文件configserver-dev.properties
一、配置Server
1、添加依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>
2、在Application主類開啟支持
@EnableConfigServer
3、配置application.yml文件
server: port: 8888 spring: application: name: config cloud: config: server: git: uri: https://gitlab.xxx.com/xxxxx/xxxxx.git # 配置gitlab倉庫的地址,注意,此處必須以.git結尾 search-paths: /config-repo # gitlab倉庫地址下的相對地址,可以配置多個,用,分割。 username: your username # gitlab倉庫的賬號 password: your password # gitlab倉庫的密碼
注意:如果配置文件放置在Git存儲庫的根目錄下,則無需使用searchPaths參數(shù),本例中的配置文件在config-repo目錄中,因此使用searchPaths參數(shù)提示Config服務器搜索config-repo子目錄
4、啟動server,并在瀏覽器輸入http://localhost:8888/configserver/dev/master
{
"name": "configserver",
"profiles": [
"dev"
],
"label": "master",
"version": "073cda9ce85a3eed00e406f4ebcc4651ee4d9b19",
"state": null,
"propertySources": [
{
"name": "https://gitlab.xxx.com/xxxxx/xxxxx/project/config-repo/configserver.properties",
"source": {
"name": "chhliuxyh",
"hello": "i'm the king of the world!!!",
"profile": "profile-default"
}
}
]
}可以看到server端已經(jīng)可以從gitlab上讀取到配置文件了。可以通過如下表單中的方式訪問gitlab上的資源
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties例如在瀏覽器中輸入:http://localhost:8888/configserver-dev.yml,結果如下:
hello: i'm the king of the world!!! name: chhliuxyh profile: profile-default
二、配置客戶端
1、添加pom依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
2、配置bootstrap.yml文件
注意:此處的配置文件需要放在bootstrap.properties或者是bootstrap.yml文件中,因為config的相關配置會先于application.properties,而bootstrap.properties的加載也是先于application.properties
server: port: 8889 spring: application: name: configserver # 必須與配置文件的前綴一致,例如此處我們的配置文件名是configserver-dev.properties,則此處需配置成configserver cloud: config: uri: http://localhost:8888/ //配置spring cloud config服務端的url profile: dev # 指定profile label: master # 指定gitlab倉庫的分支
3、驗證客戶端
在客戶端新增一個Controller
package com.chhliu.springcloud.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
@RefreshScope //注解@RefreshScope指示Config客戶端在服務器配置改變時,也刷新注入的屬性值
public class SpringcloudConfigClientApplication {
public static void main(String[] args) {
SpringApplication.run(SpringcloudConfigClientApplication.class, args);
}
@Value("${hello}") // 讀取gitlab配置文件中的屬性,如果我們讀取到了值,說明客戶端是OK的
private String profile;
@GetMapping("/hello")
public String hello() {
return this.profile;
}
}在瀏覽器中訪問:http://localhost:8889/hello,結果如下:
i'm the king of the world!!!
說明客戶端已經(jīng)可以從服務端獲取到值了。
三、動態(tài)刷新
無需重新啟動客戶端,即可更新Spring Cloud Config管理的配置
1、更新gitlab倉庫中configserver-dev.properties配置文件中hello對應的屬性值
2、訪問http://localhost:8888/configserver/dev/master,發(fā)現(xiàn)server端內容已經(jīng)更新
3、對Conf客戶端發(fā)一個POST請求http://localhost:8889/refresh,返回200 OK。再次訪問http://localhost:8889/hello,可見在并未重啟客戶端服務的情況下,讀到的屬性值已經(jīng)動態(tài)更新
PS:要想實現(xiàn)動態(tài)刷新,需要在pom文件中添加以下starter
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
讀到這里,這篇“spring cloud config整合gitlab如何搭建分布式的配置中心”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站標題:springcloudconfig整合gitlab如何搭建分布式的配置中心
文章來源:http://chinadenli.net/article32/jgpdpc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、建站公司、網(wǎng)站排名、動態(tài)網(wǎng)站、標簽優(yōu)化、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)