zoukankan      html  css  js  c++  java
  • 搭建分布式配置中心

    git仓库

    在码云上创建一个repo

    仓库地址:http://git.oschina.net/wangxianhong/config-server

    包含的文件:

    175130_0PZ9_1993676.png

    文件内容:

    175321_D8b8_1993676.png

    文件的命名格式: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.  
       
    6.  
      <groupId>com.wangxh</groupId>
    7.  
      <artifactId>config-server</artifactId>
    8.  
      <version>0.0.1-SNAPSHOT</version>
    9.  
      <packaging>jar</packaging>
    10.  
       
    11.  
      <name>config-server</name>
    12.  
      <description>分布式配置中心示例</description>
    13.  
       
    14.  
      <parent>
    15.  
      <groupId>org.springframework.boot</groupId>
    16.  
      <artifactId>spring-boot-starter-parent</artifactId>
    17.  
      <version>1.5.6.RELEASE</version>
    18.  
      <relativePath/> <!-- lookup parent from repository -->
    19.  
      </parent>
    20.  
       
    21.  
      <properties>
    22.  
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    23.  
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    24.  
      <java.version>1.8</java.version>
    25.  
      <spring-cloud.version>Dalston.SR3</spring-cloud.version>
    26.  
      </properties>
    27.  
       
    28.  
      <dependencies>
    29.  
      <dependency>
    30.  
      <groupId>org.springframework.cloud</groupId>
    31.  
      <artifactId>spring-cloud-config-server</artifactId>
    32.  
      </dependency>
    33.  
      <dependency>
    34.  
      <groupId>org.springframework.boot</groupId>
    35.  
      <artifactId>spring-boot-starter-web</artifactId>
    36.  
      </dependency>
    37.  
       
    38.  
      </dependencies>
    39.  
       
    40.  
      <dependencyManagement>
    41.  
      <dependencies>
    42.  
      <dependency>
    43.  
      <groupId>org.springframework.cloud</groupId>
    44.  
      <artifactId>spring-cloud-dependencies</artifactId>
    45.  
      <version>${spring-cloud.version}</version>
    46.  
      <type>pom</type>
    47.  
      <scope>import</scope>
    48.  
      </dependency>
    49.  
      </dependencies>
    50.  
      </dependencyManagement>
    51.  
       
    52.  
      <build>
    53.  
      <plugins>
    54.  
      <plugin>
    55.  
      <groupId>org.springframework.boot</groupId>
    56.  
      <artifactId>spring-boot-maven-plugin</artifactId>
    57.  
      </plugin>
    58.  
      </plugins>
    59.  
      </build>
    60.  
       
    61.  
      </project>
    • 在启动类添加注解:@EnableConfigServer
    1.  
      @SpringBootApplication
    2.  
      @EnableConfigServer
    3.  
      public class ConfigServerApplication {
    4.  
       
    5.  
      public static void main(String[] args) {
    6.  
      SpringApplication.run(ConfigServerApplication.class, args);
    7.  
      }
    8.  
      }
    • 配置application.properties
    1.  
      spring.application.name=config-server
    2.  
      server.port=8000
    3.  
       
    4.  
      spring.cloud.config.server.git.uri=http://git.oschina.net/wangxianhong/config-server
    5.  
      #spring.cloud.config.server.git.username=
    6.  
      #spring.cloud.config.server.git.password=

    这个文件只是指定了 git的地址,配置中心的名称,端口号。

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

    验证

    1.  
      wangxh-dev:存放的是开发时的配置信息
    2.  
       
    3.  
      wangxh-prod:存放的是生产时的配置信息
    4.  
       
    5.  
      wangxh-test:存放的是测试时的配置信息

    现在通过配置中心来访问git仓库的以上几个文件。

    访问 wangxh-dev文件

    http://localhost:8000/wangxh/dev

    180934_xVr2_1993676.png

    访问wangxh-prod文件

    http://localhost:8000/wangxh/prod

    180912_DLPk_1993676.png

    访问wangxh-test文件

    http://localhost:8000/wangxh/test

    181032_P97i_1993676.png

    总结

    如果应用名称叫 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

     分布式配置中心加密解密:

    https://blog.csdn.net/u010277958/article/details/88832229

    做功能开关:

  • 相关阅读:
    Python--day62--什么时候用GET请求和POST请求
    Python--day62--ORM的使用
    使用 vs code 搭建vue项目(一)
    jquery如何模拟分页-小白进阶
    JavaScript 实现的4种数字千位符格式化方法
    web秀
    五十个UI设计资源网站
    基于 HTML5 WebGL 的 水泥工厂可视化系统
    ASP.NET MVC图片管理(上传,预览与显示)
    jQuery使用FormData上传文件
  • 原文地址:https://www.cnblogs.com/xiejunlampard/p/15777838.html
Copyright © 2011-2022 走看看