配置中心

作用

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

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

服务端:
        
            org.springframework.cloud
            spring-cloud-config-server
        
客户端:
        
            org.springframework.cloud
            spring-cloud-starter-config
        

客户端使用

[email protected]@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

      
        org.tmatesoft.svnkit    
        svnkit    
      

配置
  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:[email protected]: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.使用工具或者其他界面修改参数


配置中心_第1张图片
image.png

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

你可能感兴趣的