spring boot工程集成apollo配置中心client

1.设置Appid

● AppId是应用的身份信息,是从服务端获取配置的标识。AppId需要保持唯一,该Id要与配置中心保持一致。
给resources目录加增加/META-INF/app.properties。文件中内容形如:

app.id=YOUR-APP-ID

2.设置环境

● 环境变量用来标识部署的环境是开发、测试、灰度还是生产。
对于Mac/Linux,文件位置为/opt/settings/server.properties;
对于Windows,文件位置为C:\opt\settings\server.properties;
文件中内容为env=DEV
3. 设置本地缓存
● Apollo客户端会把从服务端获取到的配置在本地文件系统缓存一份,用于在遇到服务不可用,或网络不通的时候,依然能从本地恢复配置,不影响应用正常运行。
● 本地缓存路径位于以下路径,所以请确保/opt/data或C:\opt\data\目录存在,且应用有读写权限。
Mac/Linux: /opt/data/{appId}/config-cache
Windows: C:\opt\data{appId}\config-cache

4.修改pom.xml

本包目前只支持开发环境、其他环境的包需要重新打。

<dependency>
    <groupId>com.ctrip.framework.apollo</groupId>
    <artifactId>apollo-client</artifactId>
    <version>0.8.0</version>
</dependency>

5. 修改spring boot 启动类
给boot 启动类增加注解@EnableApolloConfig({“application”,”DEPT1.eureka.client.serviceUrl”,”DEPT1.hikari.HikariDataSource”})
application,为该AppId在配置中心的默认私有命名空间,里面存放该AppId自有的配置属性。(默认自带的命名空间,但是若指定了其他命名空间,application也需要写上)
DEPT1.eureka.client.serviceUrl,为注册中心地址,公共属性。
DEPT1.hikari.HikariDataSource,为数据库连接池地址,公共属性。
这些命名空间,如果不需要可以不用指定。
6.修改application.properties
● 因为考虑到spring.application.name和server.port这类属性配置,在同一机器上部署时,AppId相同,但是配置会不同,所以这类配置,仍然放到配置文件中在打包时指定。
● 需要注意的是若工程中application.properties存在,且其中有配置属性,apollo客户端会默认从配置中心取值,若出现key在配置中心和中application.properties都存在的情况,apollo客户端是不会读取application.properties中的配置。

猜你喜欢

转载自blog.csdn.net/forliberty/article/details/78284525