SpringCloud之配置中心-Config

Config-Server

Spring Cloud Config 是 Spring Cloud 團隊創建的一個全新項目,用來爲分佈式系統中的基礎設施和微服務應用提供集中化的外部配置支持, 它分爲服務端與客戶端兩個部分。服務端稱爲分佈式配置中心, 它是一個獨立的微服務應用, 用來連接配置倉庫併爲客戶端提供獲取配置信息、 加密/解密信息等訪問接口;客戶端微服務架構中的各個微服務應用或基礎設施, 它們通過指定的配置中心來管理應用資源與業務相關的配置內容,並在啓動的時候從配置中心獲取和加載配置信息。
在這裏插入圖片描述

Spring Cloud Config 實現了對服務端和客戶端中環境變量和屬性配置的抽象映射, 所以它除了適用於 Spring 構建的應用程序之外,也可以在任何其他語言運行的應用程序中使用。 由於 Spring Cloud Config 實現的配置中心默認採用 Git 來存儲配置信息, 所以使用 Spring Cloud Config 構建的配置服務器,天然就支持對微服務應用配置信息的版本管理, 並且可以通過 Git 客戶端工具來方便地管理和訪問配置內容。 當然它也提供了對其他存儲方式的支持, 比如 SVN 倉庫、 本地化文件系統。

快速入門

配置中心服務

  • 在碼雲(GITEE)新建配置文件(可選GitHub、GitLab)

在碼雲新建項目config-server,在新項目下新建配置文件夾config,在config下創建application-test.properties,配置文件命名規則應儘可能使用:{application}-{profile}.{properties|yml}

在這裏插入圖片描述

  • config-server/config/application-test.properties
name=mask
age=18
  • pom.xml
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>
  • 項目中application.properties
server.port=8081
spring.cloud.config.server.git.uri=https://gitee.com/mask_0407/config-server.git
spring.cloud.config.server.git.username=****** #碼雲賬號
spring.cloud.config.server.git.password=****** #碼雲密碼
spring.cloud.config.server.git.search-paths=/config
  • App.java
@SpringBootApplication
@EnableConfigServer
public class App {
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}
}

啓動項目後訪問:http://localhost:8081/application-test.properties
在這裏插入圖片描述

Config-Client

  • pom.xml
		<!--config client依賴-->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-config</artifactId>
		</dependency>
		<!--ConfigurationProperties類所需依賴,手動添加的-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>
  • 碼雲中application-test.properties
server.port = 8082
name=mask
age=18
  • bootstrap.properties
server.port = 8082
spring.application.name = application #對應application-test.properties 中的application
spring.cloud.config.profile = test #對應application-test.properties 中的test
spring.cloud.config.uri=http://localhost:8081 # config-server 地址
# 開啓所有的健康檢查
management.endpoints.web.exposure.include=*
  • AppClient
@SpringBootApplication
@EnableDiscoveryClient
@RestController
public class AppClient {
	@Value("${server.port}")
	private String port;
	public static void main(String[] args) {
		SpringApplication.run(AppClient.class, args);
	}

	@RequestMapping("print")
	public String print() {
		return port;
	}
}

啓動項目訪問http://localhost:8082/print
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章