集中配置组件 SpringCloud Config

本贴最后更新于 1941 天前,其中的信息可能已经时移俗易

前言

  在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所
以需要分布式配置中心组件。

正文

  在 SpringCloud 中,有分布式配置中心组件 SpringCloud
Config,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程 Git 仓库中。在 SpringCloud Config 组件中,分两个角色,一是 Config Server,二是 Config
Client。
  Config Server 是一个可横向扩展、集中式的配置服务器,它用于集中管理应用程序各个环境下的配置,默认使用 Git 存储配置文件内容,也可以使用 SVN 存储,或者是本地文件存储。
  Config Client 是 Config Server 的客户端,用于操作存储在 Config Server 中的配置内容。
微服务在启动时会请求 Config Server 获取配置文件的内容,请求到后再启动容器。

代码实现

  • 配置服务端
      1. 在码云上创建仓库(点击右上角的加号,下拉菜单选择新建仓库);
    image.png

      2.上传配置文件,将某个工程的 application.yml 改名后上传(文件规则为 application-profile.yml 或 application-profile.properties,其中 application 为应用名称,profile 指的开发环境,如 base-dev.yml);
    image.png
      3.创建配置中心工程模块,引入依赖;
    <dependencies>
    	<dependency>
    		<groupId>org.springframework.cloud</groupId>
    		<artifactId>spring‐cloud‐config‐server</artifactId>
    		</dependency>
    </dependencies>
    
      4.创建启动类 ConfigServerApplication;
    // 开启配置服务
    @EnableConfigServer
    @SpringBootApplication
    public class ConfigServerApplication {
    	public static void main(String[] args) {
    	SpringApplication.run(ConfigServerApplication.class, args);
    	}
    }
    
      5.编写配置文件 application.yml(注意缩进);
    spring:
      application:
        name: tensquare‐config
      cloud:
        config:
          server:
    	git:
    	  uri: https://gitee.com/wmb3609/tensquare_config.git #码云仓库的地址
    server:
      port: 12000	
    
      6.启动浏览器访问 http://localhost:12000/base-dev.yml 可以看到配置内容(base-dev.yml 为之前上传的文件名)。
  • 配置客户端
      1.在之前上传配置文件的工程中引入依赖;
    <dependency>
    	<groupId>org.springframework.cloud</groupId>
    	<artifactId>spring‐cloud‐starter‐config</artifactId>
    </dependency>	
    
      2.删除已上传的 application.yml,添加 bootstrap.yml ;
    spring:
      cloud:
        config:
          name: base #上传的配置文件文件名前缀
          profile: dev #上传的配置文件文件名后缀
          label: master #指定仓库分支
          uri: http://127.0.0.1:12000 #配置中心工程地址
    
      3.启动配置中心工程和客户端工程,测试能否正常启动。
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    944 引用 • 1459 回帖 • 16 关注
  • 配置中心
    2 引用 • 3 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...