Springboot/SpringCloud项目使用Apollo配置中心获取配置信息

背景介绍:当前项目为springcloud微服务,整个微服务框架中分布式系统服务和集群的数量相当多,每一个服务都有着自己的配置,之前所有服务的配置信息都使用springcloud配置中心,启动服务时会从配置中心拉取对应服务的配置文件获取配置信息,现在需要将所有配置信息迁移到Apollo配置中心,由Apollo管理配置信息。
一、配置Apollo配置中心并为应用添加配置信息
1、部署和启动Apollo配置中心(参考以下链接快速在本地环境部署、启动Apollo配置中心)
https://github.com/ctripcorp/apollo/wiki/Quick-Start
2、打开 http://localhost:8070 进入配置中心

3、创建应用

注意:
4、创建集群

5、创建namespace,一个namespace对应应用的一个配置文件,一个应用可以通过创建多个namespace来添加多个配置文件。建议大家创建namespace时都只选择private类型(properties格式),不要滥用公共的namespace(仅适用于大规模公用的基础组件配置)

这个可以选择配置文件的格式,比如常见的properties和yml。
6、打开第二步配置中心页面上的应用,查看、增加、修改和删除应用配置信息

在这个页面可以添加、修改和删除具体的配置信息。
注意,properties和yml文件添加配置的方式不太一样。
二、配置Apollo客户端,使用客户端从Apollo配置中心获取配置信息
1、SpringCloud应用添加Apollo客户端

(1)指定apollo meta server(config server)地址
服务器/opt/settings/server.properties文件中配置了当前环境的信息以及对应apollo meta server的地址,即告诉客户端应该去哪里拉取配置。

应用接入时无需再指定env和apollo.meta 。 (若应用所在服务器没有该文件,可通过-Denv=xxx -Dapollo.meta=xxx JVM启动参数指定)

测试环境server.properties文件内容如下:

env=SIT
apollo.meta=http://apolloconfig.xxs.sit
1
2
(2)在application.properties文件添加以下配置信息

    app.id = apollodemo     //应用的名称
    apollo.bootstrap.enabled = true    //是否注入到spring的Environment
    apollo.bootstrap.eagerLoad.enabled = true    //将Apollo配置加载提到初始化日志系统之前
    apollo.bootstrap.namespaces = application
1
2
3
4
(3)本地配置缓存路径

Mac/Linux: /opt/data/
Windows: C:\opt\data\
1
2
Apollo客户端会把从服务端获取到的配置在本地文件系统缓存一份,用于在遇到服务不可用,或网络不通的时候,依然能从本地恢复配置,不影响应用正常运行。本地缓存路径默认位于以下路径(可通过JVM参数-Dapollo.cacheDir指定),所以请确保/opt/data或C:\opt\data\目录存在,且应用有读写权限。
(4)添加Apollo客户端的maven依赖,一般的公司都会对其封装,这里借用一下携程的。

        <dependency>
            <groupId>com.ctrip.framework.apollo</groupId>
            <artifactId>apollo-client</artifactId>
            <version>1.0.0</version>
        </dependency>
1
2
3
4
5
(5) 如果想对配置信息进行加密,可以用工具生成rsa密钥对,在Apollo配置中心创建应用时填入生成的公钥信息。并将私钥文件放在指定目录中。
生成的私钥文件只可更改文件名称,不可更改文件内容或添加后缀名,也不可新建空白文件粘贴私钥文件内容,以免私钥无效,导致无法对加密的配置进行解密。
将私钥存放于服务器/data/jar/apollo_private/ 目录下,并在脚本中加入JVM启动参数
-Dapollo.private.key=/data/jar/apollo_private/xxx_private_key 指定私钥加载路径(xxx_private_key替换为自己的私钥名称),注意放入的私钥名称不可与目录下已存在的私钥名称相同。
2、SpringCloud应用正常启动即可从Apollo配置中心获取配置信息。

点赞
————————————————
版权声明:本文为CSDN博主「EricXiao666」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39387856/article/details/87101813

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值