zoukankan      html  css  js  c++  java
  • 携程Apollo(阿波罗)配置中心把现有项目的配置文件迁移到Apollo

    说明:

    1、这个示例应该算是一个静态迁移,也就是说配置更新后要重启应用才能体现更新,目的是展示现有配置的如何迁移。

    2、如果要实现更新配置后动态去更新而不重启应用的操作,比如ZK地址和数据库地址这些,下一篇再详细实践。

    3、下面的示例是基于ZK实现的服务注册与发现,而只通过实现服务提供者的那部分,不实现服务消费者的,方便做个对比。

    前提:

    通过这里搭建好ZK的示例:http://www.cnblogs.com/EasonJim/p/7613734.html

    并且搭建好单机版的服务端:http://www.cnblogs.com/EasonJim/p/7643630.html

    实现步骤:

    0、下面的操作都是通过官方文档实践的,参考:https://github.com/ctripcorp/apollo/wiki/Java%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97#324-%E5%B7%B2%E6%9C%89%E9%85%8D%E7%BD%AE%E8%BF%81%E7%A7%BB

    1、在配置中心新建好项目

    2、把zookeeperservice项目上的application.properties配置文件的配置项复制到这个项目上,然后删除项目上的这个文件。

    注意:保存完成后要点击发布。

    3、新建META-INF/app.properties,并把app.id写上zookeeperservice。

    4、在POM上引入Client

    <?xml version="1.0"?>
    <project
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
        xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>com.jsoft.testzookeeper</groupId>
            <artifactId>zookeeperdemo</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </parent>
        <groupId>com.jsoft.testzookeeper</groupId>
        <artifactId>zookeeperservice</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>zookeeperservice</name>
        <url>http://maven.apache.org</url>
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
        <dependencies>
            <dependency>
                <groupId>com.ctrip.framework.apollo</groupId>
                <artifactId>apollo-client</artifactId>
                <version>0.8.0</version>
            </dependency>
        </dependencies>
    </project>

    5、在程序的main入口的Class上增加@EnableApolloconfig注解

    6、运行

    一般只需要在/opt/settings/server.properties中配置了env=DEV就可以直接直接启动(因为Client在本地仓库的包上已经有了meta_server的信息),但是在IDE上也可以通过指定VM的参数,增加系统属性变量-D来实现调试,配置如下:

    如果到处JAR运行,直接java -jar Spring-Boot-Demo.jar即可,不需要增加什么参数(但前提是配置了/opt/settings/server.properties的env的值)。

    7、测试是否正常注册到ZK,并测试服务消费者能否正常运行

    7.1、通过zkCli.sh连接后正常获取信息

    7.2、通过服务消费者访问

    一切正常。

    测试工程:https://github.com/easonjim/5_java_example/tree/master/apollotest/test2

  • 相关阅读:
    java常用api
    常用命令
    mysql常用命令
    特性
    centos ubuntu 软件安装
    WebStorm创建Vue项目记录
    登录oracle官网下载资料账号可以使用(保存)(转)
    java学习之路—JDBC—DBUtils
    Linux从入门到精通(第4章--桌面环境)
    Linux从入门到精通(第2章--Linux安装)
  • 原文地址:https://www.cnblogs.com/EasonJim/p/7649610.html
Copyright © 2011-2022 走看看