美文网首页
配置中心

配置中心

作者: tommyhxh | 来源:发表于2018-06-16 18:53 被阅读0次

作用

分布式系统中,服务数量比较多,服务有大量的配置文件,文件可以统一管理,提高效率。配置中心是分布式不可取少的一部分。SpringCloud原生支持的配置中心有spring cloud config。分为客户端和服务端;支持多种文件存储;

分为客户端和服务端两部分

服务端:
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
客户端:
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>

客户端使用

客户端使用@refreshScope对配置类或者引入@Value值的类进行绑定;可使用API接口http://ip:port/refresh进行刷新。

配置存储

支持Git、SVN或者本地存储、也可以对接到mongo进行存储,尤其对于以yml为主的配置文件。
1.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仓库的用户密码

2.svn

  <dependency>    
        <groupId>org.tmatesoft.svnkit</groupId>    
        <artifactId>svnkit</artifactId>    
    </dependency>  

配置
  cloud:  
    config:  
      label: src  
      enabled: true  
      server:   
        svn:  
          uri: http://172.0.0.9/MS/MS/cloudConfig  
          default-label: cloudConfig  
          username: xxx  
          password: xxx  
      profile:   
        active: subversion 

3.mongo
使用spring-data-mongo提供的功能,

spring:
  data:
    mongodb:
      uri: mongodb://saasp:saasp@10.16.8.93:27017/cloudconfig
      ##mongodb副本集,用逗号隔开即可。

高可用

配置中心在线上需要做高可用,需要注册到注册中心。高可用主要通过serviceId实现,开启发现功能,配置对应的服务名称。

spring:
  cloud:
    config:
      name: sdk-test
      label: master
      profile: dev
# uri: http://localhost:1234 (非高可用)
      discovery:
        enabled: true(默认是false,需要开启)
        serviceId: saasp-configctr

还需要加上注册中心的一些配置

eureka:
  instance:
    instance-id: ${spring.cloud.client.ipAddress}:${server.port}
    prefer-ip-address: true
  client:
    serviceUrl:
      defaultZone: http://xxxx:1111/eureka/,http://yyyy:1111/eureka/

uri 使用

/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties

非bus流程

1.使用工具或者其他界面修改参数


image.png

2.执行对应服务的refresh接口

相关文章

  • apollo+nacos 总结

    配置中心 配置中心简介 说到配置中心, 大家可能都不陌生。我们携程现在用的qconfig, 就是一个典型的配置中心...

  • Nacos注册中心之概要设计

    前言 在之前的文章中分析了Nacos配置中心,配置中心的核心是配置的创建、读取、推送。 注册中心的核心比配置中心多...

  • SpringCloud-Spring Cloud Config分

    分布式配置中心可以理解成 注册中心+配置中心的整合。具体实现思路:搭建一个注册中心,在注册中心的基础上添加配置中心...

  • SpringCloud Config使用

    构建配置中心 配置中心服务端配置 新建一个配置中心模块,且注册到eureka中,在其他服务的基础上增加如下配置po...

  • 05知识点

    配置中心设计与实践 配置中心定义 服务集群的统一配置存储和管理系统,配置中心的特点: 独立于程序的只读变量 伴随应...

  • 配置中心

    作用 分布式系统中,服务数量比较多,服务有大量的配置文件,文件可以统一管理,提高效率。配置中心是分布式不可取少的一...

  • 配置中心

    配置中心的原理

  • 配置中心

    git仓库中创建一个文件夹cloud-config-repo,在文件夹下面创建三个properties:cloud...

  • 配置中心

    当项目达到一定程度,配置五花八门这时候配置中心的便派上了用场。 方案1 maven打包 如果只是要区分开发环境和上...

  • 配置中心

    以下概念性的语言均为本人理解,欢迎大佬指出错误,小白希望深入理解请到官网Github源码参考:https://gi...

网友评论

      本文标题:配置中心

      本文链接:https://www.haomeiwen.com/subject/vqoveftx.html