SpringCloud Config 遠程倉庫配置

1.搭建git環境,目的:持久化存儲配置文件信息,這裏採用碼雲進行練習,首先註冊,然後新建倉庫,如下圖所示:

2.這個時候創建一個文件夾用來存儲配置文件(git環境上文件夾以項目區分,不同項目配置文件在不同的文件夾中),我創建一個hasconfig文件夾如下圖:

注意:1.在git環境上創建配置文件名稱規範:服務名稱-環境.properties(服務名稱指的消費者服務名稱spring.application.name的值)

3.新建文件:我新建兩個配置文件,test-configClient-dev.properties和test-configClient-prd.properties

4.本地搭建configServer環境(基於springboot)

   添加pom依賴:

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.2.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

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

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

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

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Camden.SR6</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>


	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

	<repositories>
		<repository>
			<id>spring-milestones</id>
			<name>Spring Milestones</name>
			<url>https://repo.spring.io/milestone</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>

  新建application.yml配置文件:

 新建啓動類:

  然後啓動服務

5.本地搭建configClient環境

  添加依賴:

 <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.1.RELEASE</version>
	</parent>
	<!-- 管理依賴 -->
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Finchley.M7</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

		</dependencies>
	</dependencyManagement>
	<dependencies>
		<!-- SpringBoot整合Web組件 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-config-client</artifactId>
		</dependency>
		<!-- SpringBoot整合eureka客戶端 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>
			<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		
	</dependencies>
	<!-- 注意: 這裏必須要添加, 否者各種依賴有問題 -->
	<repositories>
		<repository>
			<id>spring-milestones</id>
			<name>Spring Milestones</name>
			<url>https://repo.spring.io/libs-milestone</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>

新建配置文件bootstrap.yml

新建啓動類:

新建一個controller:

然後啓動訪問:localhost:8882/getConfigInfo,訪問成功展示如下如:

6.刷新配置文件信息(我們修改之前創建的配置文件信息爲BAT)

 

注意:1.默認情況下不能及時的獲取實時變更的配置文件信息

           2.SpringCloud分佈式配置中心可以採用手動刷新或者自動刷新(手動刷新和自動刷新都不需要重啓服務器)

              手動刷新:需要人工調用接口讀取最新配置文件(監控中心)

              自動刷新:消息總線進行實時通知(springbus)

這裏採用手動刷新:1.引入actuator依賴,上面已經引入  2.配置文件開啓端點

然後使用postman發送post請求:127.0.0.1:8882/actuator/refresh

這個時候在訪問localhost:8882/getConfigInfo會發現數據已經刷新了:

發佈了87 篇原創文章 · 獲贊 40 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章