加载配置顺序

image.png

加载流程

  1. 找到所有加载配置 按顺序放到list中
  2. 循环list,判断当前属性是否有值
    1. 有值,则不去读取配置信息
    2. 没有值,则去读取配置信息

配置图

image.png
image.png

Spring Cloud Config 服务端实现配置管理

Git

  • 复杂的版本更新机制(Git仓库)
    • 版本
    • 分支
    • 提交
    • 配置
  • 憋足的内容更新(实时性不高)
    • 客户端第一次启动拉取一下
    • 需要整合BUS做更新通知

      Spring Cloud Config 服务端实现原理

      image.png

      添加注解 @EnableConfigServer

      image.png

      @Import中的类

      image.png

      注册到spring容器中条件condition

      ConditionalOnBean(ConfigServerConfiguration.Marker.class)说明需要有bean ConfigServerConfiguration.Marker
      image.png

      核心接口 EnvironmentRepository

      客户端可以通过http请求(不仅仅http,可以自己实现),最终调用findOne可以找到对应的配置
      image.png

image.png

连接配置技术

  1. git
  2. jdbc
  3. svn

    存储配置介质

  4. db

  5. 文件

    默认找Git作为配置仓库的原因

    image.png

    客户端请求模式

    image.png

    环境配置自定义实现

    优先使用容器中有EnvironmentRepository,没有默认使用git。
    image.png

    客户端获取配置

    自定义客户端配置定位去:接口 PropertySourceLocator

    默认可以通过http配置

    spring.cloud.config.uri= http://localhost:8888