搭建分散式配置中心
阿新 • • 發佈:2022-01-08
git倉庫
在碼雲上建立一個repo
倉庫地址:http://git.oschina.net/wangxianhong/config-server
包含的檔案:
檔案內容:
檔案的命名格式:wangxh-xxx.yml
wangxh:表示一個具體的服務名稱,這個名稱是通過在配置檔案中用:spring.application.name=wangxh 來定義的。
wangxh-dev:存放的是開發時的配置資訊
wangxh-prod:存放的是生產時的配置資訊
wangxh-test:存放的是測試時的配置資訊
搭建配置中心
- 使用springboot建立一個普通的專案,在pom中新增依賴,以下是pom.xml
- <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.wangxh</groupId>
- <artifactId>config-server</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>config-server</name>
- <description>分散式配置中心示例</description>
-
<parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>1.5.6.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>
- <spring-cloud.version>Dalston.SR3</spring-cloud.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-web</artifactId>
- </dependency>
- </dependencies>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-dependencies</artifactId>
- <version>${spring-cloud.version}</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>
- 在啟動類添加註解:@EnableConfigServer
- public class ConfigServerApplication {
- public static void main(String[] args) {
- SpringApplication.run(ConfigServerApplication.class, args);
- }
- }
- 配置application.properties
- spring.application.name=config-server
- server.port=8000
- spring.cloud.config.server.git.uri=http://git.oschina.net/wangxianhong/config-server
- #spring.cloud.config.server.git.username=
- #spring.cloud.config.server.git.password=
這個檔案只是指定了 git的地址,配置中心的名稱,埠號。
以上就完成了配置中心的搭建。
驗證
- wangxh-dev:存放的是開發時的配置資訊
- wangxh-prod:存放的是生產時的配置資訊
- wangxh-test:存放的是測試時的配置資訊
現在通過配置中心來訪問git倉庫的以上幾個檔案。
訪問 wangxh-dev檔案
http://localhost:8000/wangxh/dev
訪問wangxh-prod檔案
http://localhost:8000/wangxh/prod
訪問wangxh-test檔案
http://localhost:8000/wangxh/test
總結
如果應用名稱叫 serverA 那麼需要在git倉庫裡新增各種場景的yml檔案,而這些yml檔案的名稱規則就是
serverA-dev.yml
serverA-prod.yml
serverA-test.yml
通過http讀取這些配置的規則:
http://配置中心的地址/serverA/dev
http://配置中心的地址/serverA/prod
http://配置中心的地址/serverA/test
轉載於:https://blog.csdn.net/weixin_34138377/article/details/92166656