美文网首页
配置中心

配置中心

作者: 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接口

    相关文章

      网友评论

          本文标题:配置中心

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