javascript
Spring cloud config 分布式配置中心(一) 服务端
作用:
為分布式系統中的基礎設施和微服務應用提供外部集中化的配置支持,分客戶端和服務端
服務端:
即分布式配置中心,是一個獨立的微服務應用,連接配置倉庫,為客戶端提供一些訪問接口,如加密 / 解密信息接口,獲取配置信息接口等。
客戶端:
微服務架構中各個服務應用或基礎設施,通過配置中心獲取和加載配置信息。配置倉庫 --> 服務端 --> 客戶端
存儲方式:
默認為Git,也支持SVN 和 本地文件
構建配置中心:
1:pom.xml添加依賴
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.smart</groupId><artifactId>configserver</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>config-server</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.3.5.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.boot</groupId><artifactId>spring-boot-starter-web</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-config-server</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Brixton.RELEASE</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></project>
2:Application.java文件添加注解@EnableConfigServer
package com.smart;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.config.server.EnableConfigServer;@EnableConfigServer @SpringBootApplication public class ConfigServerApplication {public static void main(String[] args) {SpringApplication.run(ConfigServerApplication.class, args);} }3:application.property文件添加配置 ?主要是Git
-
spring.cloud.config.server.git.uri:配置git倉庫位置
-
spring.cloud.config.server.git.searchPaths:配置倉庫路徑下的相對搜索位置,可以配置多個
-
spring.cloud.config.server.git.username:訪問git倉庫的用戶名
-
spring.cloud.config.server.git.password:訪問git倉庫的用戶密碼
注:因為springBoot采用的是1.3.4版本,如果有用2.0版本的,ApplicationTest.java的注解是不同的哦!!!!
pom.xml文件要將web依賴注釋掉,才能正常顯示,不知道是不是只有我是這樣的問題
?
附上ApplictionTest.java的代碼
package com.smart;import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = ConfigServerApplication.class) public class ConfigServerApplicationTests {@Testpublic void contextLoads() {}}啟動服務 ?關于訪問的地址根據下面規范來編寫
訪問 http://localhost:7001/didispace/prod/master
URL格式:http://localhost:7001/A/B/label
倉庫http://git.oschina.net/didispace/SpringBoot-Learning/ 配置文件
didispace.properties
didispace-dev.properties
didispace-prod.properties
didispace-test.properties
配置文件格式:A-B.properties
注:關于瀏覽器訪問的地址,將配置文件格式和地址格式對應的 A B 要保持一致
正確情況下訪問上面輸入的地址,頁面信息為
{"name":"didispace","profiles":["prod"],"label":"master","version":"bb12a878c59b5b4d1ad540b4464a7fc9e701ff46","propertySources":[]}?
轉載于:https://www.cnblogs.com/shuzhongruyu/p/8945185.html
總結
以上是生活随笔為你收集整理的Spring cloud config 分布式配置中心(一) 服务端的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Teambition CEO齐俊元:大象
- 下一篇: 【MyBatis】学习纪要六:动态SQL