美文网首页我爱编程
六.Spring Cloud分布式配置中心实践(Config)

六.Spring Cloud分布式配置中心实践(Config)

作者: 六朝遗孤 | 来源:发表于2018-02-22 22:43 被阅读0次

    开宗明义
    在分布式系统中,由于服务数量巨大,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是config client

    1 构建config server

    1.1 创建springboot项目作为config server,命名为config-server


    Screenshot from 2018-02-23 22-23-48.png

    1.2 创建后的pom.xml文件(引入eureka,config server依赖)


    Screenshot from 2018-02-23 22-25-49.png

    1.3 启动类ConfigServerApplication ,加上@EnableConfigServer注解开启配置服务器的功能


    Screenshot from 2018-02-23 22-28-13.png

    1.4 配置application.properties文件


    Screenshot from 2018-02-25 12-16-49.png

    spring.cloud.config.server.git.uri:配置git仓库地址(最好是https,ssh实践中可能会出错,原因尚待研究)
    spring.cloud.config.server.git.searchPaths:配置仓库路径
    spring.cloud.config.label:配置仓库的分支
    spring.cloud.config.server.git.username:访问git仓库的用户名
    spring.cloud.config.server.git.password:访问git仓库的用户密码

    1.5 建一个gitthub仓库spring-cloud-config,目录下有config文件夹,存放config-client-dev.properties文件,文件内有如下内容:foo = foo version 3 Screenshot from 2018-02-25 12-21-22.png

    1.6 启动工程,访问localhost:8771/foo/dev,证明配置服务中心可以从远程程序获取配置信息


    Screenshot from 2018-02-25 12-37-38.png

    http请求地址和资源文件映射如下:
    /{application}/{profile}[/{label}]
    /{application}-{profile}.yml
    /{label}/{application}-{profile}.yml
    /{application}-{profile}.properties
    /{label}/{application}-{profile}.properties

    2 构建config client

    2.1 创建springboot项目作为config client,命名为config-client


    Screenshot from 2018-02-25 12-47-24.png

    2.2 创建后的pom.xml文件(引入config client,web依赖)


    Screenshot from 2018-02-25 12-50-44.png

    2.3 配置bootstrap.properties文件

    Screenshot from 2018-02-25 12-56-24.png
    spring.cloud.config.label 指明远程仓库的分支
    spring.cloud.config.profile 环境配置
    dev开发环境
    test测试环境
    pro正式环境
    spring.cloud.config.uri= http://localhost:8771/指明配置服务中心的网址

    2.4 启动类写一个API接口“/hi”,返回从配置中心读取的foo变量的值


    Screenshot from 2018-02-25 13-04-24.png

    2.5 启动工程,访问localhost:8772/hi,说明config-client从config-server获取了foo的属性,而config-server是从git仓库读取的


    Screenshot from 2018-02-25 13-08-18.png

    2.5.1 如图所示


    Screenshot from 2018-02-25 13-10-18.png

    未完待续......

    相关文章

      网友评论

        本文标题:六.Spring Cloud分布式配置中心实践(Config)

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