1. 程式人生 > 其它 >搭建分散式配置中心

搭建分散式配置中心

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
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.wangxh</groupId>
  6. <artifactId>config-server</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <packaging>jar</packaging>
  9. <name>config-server</name>
  10. <description>分散式配置中心示例</description>
  11. <parent>
  12. <groupId>org.springframework.boot</groupId>
  13. <artifactId>spring-boot-starter-parent</artifactId>
  14. <version>1.5.6.RELEASE</version>
  15. <relativePath/> <!-- lookup parent from repository -->
  16. </parent>
  17. <properties>
  18. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  19. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  20. <java.version>1.8</java.version>
  21. <spring-cloud.version>Dalston.SR3</spring-cloud.version>
  22. </properties>
  23. <dependencies>
  24. <dependency>
  25. <groupId>org.springframework.cloud</groupId>
  26. <artifactId>spring-cloud-config-server</artifactId>
  27. </dependency>
  28. <dependency>
  29. <groupId>org.springframework.boot</groupId>
  30. <artifactId>spring-boot-starter-web</artifactId>
  31. </dependency>
  32. </dependencies>
  33. <dependencyManagement>
  34. <dependencies>
  35. <dependency>
  36. <groupId>org.springframework.cloud</groupId>
  37. <artifactId>spring-cloud-dependencies</artifactId>
  38. <version>${spring-cloud.version}</version>
  39. <type>pom</type>
  40. <scope>import</scope>
  41. </dependency>
  42. </dependencies>
  43. </dependencyManagement>
  44. <build>
  45. <plugins>
  46. <plugin>
  47. <groupId>org.springframework.boot</groupId>
  48. <artifactId>spring-boot-maven-plugin</artifactId>
  49. </plugin>
  50. </plugins>
  51. </build>
  52. </project>
  • 在啟動類添加註解:@EnableConfigServer
  1. @SpringBootApplication
  2. @EnableConfigServer
  3. public class ConfigServerApplication {
  4. public static void main(String[] args) {
  5. SpringApplication.run(ConfigServerApplication.class, args);
  6. }
  7. }
  • 配置application.properties
  1. spring.application.name=config-server
  2. server.port=8000
  3. spring.cloud.config.server.git.uri=http://git.oschina.net/wangxianhong/config-server
  4. #spring.cloud.config.server.git.username=
  5. #spring.cloud.config.server.git.password=

這個檔案只是指定了 git的地址,配置中心的名稱,埠號。

以上就完成了配置中心的搭建。

驗證

  1. wangxh-dev:存放的是開發時的配置資訊
  2. wangxh-prod:存放的是生產時的配置資訊
  3. 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