使用Spring Cloud构建统一配置中心

来源:互联网 发布:阿里云服务器怎么重装 编辑:程序博客网 时间:2024/05/16 08:26

总结一下项目里使用的Spring Cloud 构建的统一配置中心:

1. 建立并启动配置中心项目:

      1.1首先 建立起配置中心的项目 config-repo, 在项目里建立各个项目需要的配置文件;将该项目扔到git 上,地址为:http://10.16.19.139:18080/Rosy/config-repo



      1.2. 为config-repo 项目建立配置文件:application.yml. 作为启动config-repo 时的配置文件;



      1.3. 启动config-repo 项目,服务器地址:10.16.19.223:8888

2.  各个微服务 建立bootStrap.yml, (bootStrap.yml 的优先权要高于application.yml)

     2.1 收单系统的bootStrap.yml



     2.2 订单系统的bootStrap.yml




1. 在启动收单系统是,首先读取bootStrap.yml. 读到cloud.config.uri 时,会到URI 指定的位置读取文件,即到:10.16.19.223:8888 所在的服务器和端口所监听的项目,所以定位到了configserver, 接着读取configServer 的配置文件application.yml,在该yml 中,coud-config-server.git.uri 指出项目的git位置,searchLocation 指出 项目所在的服务器的启动位置。

定位到configserver之后:开始读取项目内的内容。读取的内容根据收单系统(client)中指出的spring.profiles.active ,即


2. 在configserver 中配置文件的命名要有规则,需要和微服务(client)的 spring.name 及spring.profiles.active 形成对应,微服务才能在configserver 中找到自己需要的配置文件。对应规则如下:

配置文件的命名规则由以下的三个参数确定:{application}-{profile}-{label}.yml

  • {application}映射到Config客户端的spring.application.name属性
  • {profile}映射到Config客户端的spring.profiles.active属性,可以用来区分环境,比如dev,test,produce等等
  • {label}映射到Git服务器的commit id,分支名称或者tag,默认值为master

例如 上述收单的 profiles:  

profiles:
    active: default,rabbit,redis,eureka .  表明收单系统激活default,rabbit,redis,eureka 4种文件,需要configserver 提供该4种文件。default  是指profile 可以不匹配;

收单系统的application.name = acquier.

则default  =====>   acquier.yml

    eureka=====>   acquier.eureka.yml  

    rabbit=====>   acquier.rabbit.yml  

    redis=====>   acquier.redis.yml  

    test =====>   acquier.test .yml