在Spring Cloud项目中使用Apollo分布式配置中心之前,需要启动Apollo的配置服务器。
具体操作步骤请参考以下链接:
携程阿波罗分布式配置中心-整体架构设计和核心概念
携程分布式配置中心-本地单机部署(详细操作步骤)
(1)添加依赖关系:
属国
属国
groupIdcom.ctrip.framework.apollo/groupId
artifactIdapollo-客户端/artifactId
版本1 . 0 . 0/版本
/依赖关系
属国
groupIdorg.springframework.cloud/groupId
artifactId spring-cloud-starter-网飞-尤里卡-客户端/artifactId
/依赖关系
/依赖关系
介绍Apollo的客户端依赖。
(2)在项目resources/meta-INF/app . properties中指定appId
说明:Java客户端通过class path :/meta-INF/app . properties指定appId。
app.id=123456789
Apollo客户端在运行时需要知道当前的应用是谁,这样才能得到相应的配置。每个应用程序都需要一个惟一的标识——appid。Apollo客户端根据这个appId从Apollo服务器获取相应的配置信息。
(3)在项目application.yml配置文件中配置apollo相关选项。
注入默认应用程序名称空间apollo.bootstrap.enabled=true的配置示例
您可以在Spring Boot的application.properties或bootstrap.properties中指定Apollo . meta=http://config-service-URL。
在以下配置中,设置Apollo . meta=http://localhost 33608080
可以通过Java系统属性设置${env}_meta。如果当前env是dev,那么用户可以配置-ddev _ meta=3358 config-service-URL。
还可以通过apollo-env.properties文件设置${env}_meta,如下所示。
用户还可以创建一个apollo-env.properties,并将其放在程序的类路径或spring boot应用程序的config目录中。
该文件的内容如下:
dev . meta=http://localhost :8080
fat . meta=http://Apollo . fat . XXX . com
UAT . meta=http://Apollo . UAT . XXX . com
pro.meta=http://apollo.xxx.com
如果以上所有手段都无法获得元服务器地址,那么Apollo最终会回退到http://apollo.meta作为元服务器地址。
代码和配置项完成后,设置apollo客户端项目的启动项设置。
是由VM选项选择的主设置(启动参数由VM参数设置):-denv=dev-ddev _ meta=3358 localhost 33608080
借助Java Config,可以借助@Value注入配置项。
@值("${config_info:default}")
private弦乐config;
Apollo还添加了一个新的注释来简化它在Spring环境中的使用。@ Apollo Config-用于自动注入配置对象。
示例代码如下:
@ApolloConfig
私有配置配置;//注入命名空间应用程序的配置
@ApolloConfig('应用程序')
私有配置anotherConfig//注入命名空间应用程序的配置
以下代码仅用于演示目的。
4. 启动Eureka、config-client-apollo 项目,同时在 Apollo portal 配置相应的参数值。
在阿波罗门户中配置相应的参数。
然后,访问以下地址以查看返回值。
http://localhost :9018/config consumer/getConfigInfo
项目源代码来自《重新定义Spring Cloud 实战》:
https://github . com/rickie China/spring-cloud-code/tree/master/ch12-10