apollo简单使用

xiaoxiao2021-02-28  138

上一篇我们已经将apollo部署好,我们可以使用apollo来为应用配置应用属性,环境变量等。下面我们来看看apollo是怎么使用的。

一 准备

1.maven私服

由于下面三个jar是随着配置好后的编译文件编译生成的,所以不能放入maven中央仓库,需要放到自己的maven仓库。所以需要搭建maven私服,搭建方法见:http://blog.csdn.net/dhmpgt/article/details/9998321

注意:搭建好maven后需要将.m2/settings的maven地址修改成自己搭建的maven地址

2.jar

将编译好的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配置中心,地址为apollo-portal的访问地址,访问首页如下:

点击创建项目

填入相应的信息提交即可。

接下来该如何配置属性,来达到不同环境使用不同配置,不同环境使用相同配置,同一环境适用不同配置等的目的。

1新建集群

注意:

(1)红框中的文字,如果想使不同的集群环境使用不同的集群,则需要创建集群,并在客户端调用的时候指定集群名称。若没有配置集群,则默认集群名称为default。

(2)选择环境是指配置将被发布在那个环境中,如果没有将集群和环境关联,客户端是不能读取配置的。

2.新建namespace

namespace和集群配制方法差不多,只是多了一个关联的概念,下面讲解一下apollo的namespace的概念和用法。

1.概念

namespace其实就相当于一个配置池,有公共的和私有的。公共的namespace可以被所有的应用访问,所以这里边的配置都是一些公共的配置,例如数据库连接,日志配置等一些公共配置资源。那么可想而知,私有的namespace只能够被当前应用访问,但是可以关联公共的namespace并覆盖其中的配置。

如上图:应用B配置了一个公共的namespace,应用A和应用B可以使用这个namespace的配置。只要关联一下就可以了。下面来看一下怎么配置namespace

2.namespace使用方法

点击新建namespace出现如下页面

点击创建namespace并选择public类型即可创建公共的namespace,然后在进行关联即可,关联类型的namespace会覆盖掉关联的公共namespace的配置。

三配置客户端

1.引入一下依赖

<!-- 引入guava --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>21.0</version> </dependency> <!-- 引入GSON--> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> <!--引入apollo-client--> <dependency> <groupId>com.digitalchina.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>0.8.0</version> </dependency> <dependency> <groupId>com.digitalchina.framework.apollo</groupId> <artifactId>apollo-core</artifactId> <version>0.9.0</version> </dependency> <dependency> <groupId>com.digitalchina.framework.apollo</groupId> <artifactId>apollo-buildtools</artifactId> <version>0.8.0</version> </dependency> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <version>4.1.0</version> </dependency>

    注意:1)如果本地maven仓库包含apollo的jar,请重新从maven私服拉取           2)guice和guava如果工程没有引用,需要引用。若有,则不需要。 2.在classpath:resources/META_INF下新建app.properties文件,并编辑以下内容

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客户端使用配置中心可以取到配置了。像监听等更高级的使用方式后续会不断更新。

转载请注明原文地址: https://www.6miu.com/read-20982.html

最新回复(0)