springcloud分布式配置中心

Posted wn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springcloud分布式配置中心相关的知识,希望对你有一定的参考价值。

什么是配置中心

在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是config client。

创建git

  并添加一个properties类型的文件

  

  

创建springcloud_git_server项目

  结构图

      

  导入依赖

 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </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>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

  application.yml文件

spring.application.name=config-server
server.port=8889
spring.cloud.config.server.git.uri=https://gitee.com/wangnan_2003/test01.git
spring.cloud.config.server.git.searchPaths=respo
spring.cloud.config.label=master
spring.cloud.config.server.git.username=
spring.cloud.config.server.git.password=

      spring.cloud.config.server.git.uri:配置git仓库地址

      spring.cloud.config.server.git.searchPaths:配置仓库路径

      spring.cloud.config.label:配置仓库的分支

      spring.cloud.config.server.git.username:访问git仓库的用户名

      spring.cloud.config.server.git.password:访问git仓库的用户密码

  启动类

package com.git.springcloud_git_server;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;

@SpringBootApplication
@EnableConfigServer
public class SpringcloudGitServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringcloudGitServerApplication.class, args);
    }

}

  结果展示

      

创建springcloud_git_client项目

  结构图

      

  导入依赖

<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>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</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>

  bootstrap.properties文件

spring.application.name=config-client
spring.cloud.config.label=master
spring.cloud.config.profile=dev
spring.cloud.config.uri= http://localhost:8889/
server.port=8880

  controller控制器

@RestController
public class ClientControler {

    @Value("${user}")
    String user;

    @RequestMapping("/getOne")
    public String getOne(){
        return user;
    }

}

  启动类

@SpringBootApplication
public class SpringcloudGitClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringcloudGitClientApplication.class, args);
    }

}

  结果展示

      

以上是关于springcloud分布式配置中心的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud分布式配置中心

springcloud分布式配置中心

重学SpringCloud系列四之分布式配置中心---上

SpringCloud-分布式配置中心(config)

SpringCloud Config分布式配置中心

SpringCloud分布式配置中心Config