上一篇我们已经将apollo部署好,我们可以使用apollo来为应用配置应用属性,环境变量等。下面我们来看看apollo是怎么使用的。
由于下面三个jar是随着配置好后的编译文件编译生成的,所以不能放入maven中央仓库,需要放到自己的maven仓库。所以需要搭建maven私服,搭建方法见:http://blog.csdn.net/dhmpgt/article/details/9998321
注意:搭建好maven后需要将.m2/settings的maven地址修改成自己搭建的maven地址
将编译好的apollo-core-0.8.0.jar,apollo-client-0.8.0.jar,apollo-buildtools-0.8.0.jar推入maven仓库,上传方法有很多种,推荐使用如下命令:
mvn deploy:deploy-file -DgroupId=com.digitalchina.framework.apollo -DartifactId=apollo-client -Dversion=0.8.0 -Dpackaging=jar -Dfile=D:\Desktop\apollo-client-0.8.0.jar -Durl=http://172.16.1.112:9212/nexus/content/repositories/ms-release/ -DrepositoryId=ms-release
mvn deploy:deploy-file -DgroupId=com.digitalchina.framework.apollo -DartifactId=apollo-core -Dversion=0.8.0 -Dpackaging=jar -Dfile=D:\Desktop\apollo-core-0.8.0.jar -Durl=http://172.16.1.112:9212/nexus/content/repositories/ms-release/ -DrepositoryId=ms-release
mvn deploy:deploy-file -DgroupId=com.digitalchina.framework.apollo -DartifactId=apollo-buildtools -Dversion=0.8.0 -Dpackaging=jar -Dfile=D:\Desktop\apollo-buildtools-0.8.0.jar -Durl=http://172.16.1.112:9212/nexus/content/repositories/ms-release/ -DrepositoryId=ms-release
根据自己的情况修改参数-DgroupId,-Dfile,-Durl
访问apollo配置中心,地址为apollo-portal的访问地址,访问首页如下:
点击创建项目
填入相应的信息提交即可。
接下来该如何配置属性,来达到不同环境使用不同配置,不同环境使用相同配置,同一环境适用不同配置等的目的。
注意:
(1)红框中的文字,如果想使不同的集群环境使用不同的集群,则需要创建集群,并在客户端调用的时候指定集群名称。若没有配置集群,则默认集群名称为default。
(2)选择环境是指配置将被发布在那个环境中,如果没有将集群和环境关联,客户端是不能读取配置的。
namespace和集群配制方法差不多,只是多了一个关联的概念,下面讲解一下apollo的namespace的概念和用法。
1.概念
namespace其实就相当于一个配置池,有公共的和私有的。公共的namespace可以被所有的应用访问,所以这里边的配置都是一些公共的配置,例如数据库连接,日志配置等一些公共配置资源。那么可想而知,私有的namespace只能够被当前应用访问,但是可以关联公共的namespace并覆盖其中的配置。
如上图:应用B配置了一个公共的namespace,应用A和应用B可以使用这个namespace的配置。只要关联一下就可以了。下面来看一下怎么配置namespace
2.namespace使用方法
点击新建namespace出现如下页面
点击创建namespace并选择public类型即可创建公共的namespace,然后在进行关联即可,关联类型的namespace会覆盖掉关联的公共namespace的配置。
1.引入一下依赖
com.google.guava
guava
21.0
com.google.code.gson
gson
com.digitalchina.framework.apollo
apollo-client
0.8.0
com.digitalchina.framework.apollo
apollo-core
0.9.0
com.digitalchina.framework.apollo
apollo-buildtools
0.8.0
com.google.inject
guice
4.1.0
local.meta=http://localhost:8555
dev.meta=http://0.0.0.0:8555
fat.meta=http://0.0.0.0:8555
uat.meta=http://0.0.0.0:8555
lpt.meta=http://0.0.0.0:8555
pro.meta=http://0.0.0.0:855
地址为部署apollo-configservice的地址
3.添加ApolloConfiguration.java类
@Configuration
@EnableApolloConfig
public class ApolloConfiguration {
@Bean
public InstanceConfigBean instanceConfigBean(){
return new InstanceConfigBean();
}
}
4.指定运行时环境变量,即JVM参数,-Denv=DEV(必填),-Dapollo.cluster=SomeCluster(可选)
至此,apollo客户端使用配置中心可以取到配置了。像监听等更高级的使用方式后续会不断更新。