美文网首页
apollo quick start操作

apollo quick start操作

作者: CXY_XZL | 来源:发表于2019-10-18 11:26 被阅读0次

    Apollo Github官方地址:https://github.com/ctripcorp/apollo
    apollo quick start官方示例GitHub地址:https://github.com/ctripcorp/apollo/wiki/Quick-Start

    本文目的:快速启动apollo,快速了解apollo配置中心,apollo支持docker部署,部署方式可查看官方文档,需要注意的是,此示例用于本地测试

    一.准备操作

    1.1 Java

    • Apollo服务端:1.8+
    • Apollo客户端:1.7+
    • maven:3.6.2(目前最新版)
      由于Quick Start会在本地同时启动服务端和客户端,所以 需要在本地安装Java 1.8+。
      在配置好后,可以通过如下命令检查:
      java -version
      样例输出:
    java version "1.8.0_74"
    Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
    Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)
    

    Windows用户请确保JAVA_HOMEpath环境变量已经设置。

    1.2 Mysql

    • 版本要求:5.6.5+
      Apollo的表结构对timestamp使用了多个default声明,所以需要5.6.5以上版本。

    1.3 下载Quick Start安装包

    下载方法:

    1. 从Github下载

    2. 从百度网盘下载

      • 通过网盘链接下载(提取码: deca)
      • 下载到本地后,在本地解压apollo-quick-start.zip
    3. 为啥安装包要58M这么大?

      • 因为这是一个可以自启动的jar包,里面包含了所有依赖jar包以及一个内置的tomcat容器

    二、安装步骤

    2.1 创建数据库

    Apollo服务端共需要两个数据库:ApolloPortalDBApolloConfigDB,我们把数据库、表的创建和样例数据都分别准备了sql文件,只需要导入数据库即可。

    注意:如果你本地已经创建过Apollo数据库,请注意备份数据。我们准备的sql文件会清空Apollo相关的表。

    2.1.1 创建ApolloPortalDB

    通过各种MySQL客户端(例如:Navicat)导入sql/apolloportaldb.sql即可。
    下面以MySQL原生客户端为例:source /your_local_path/sql/apolloportaldb.sql

    上面的your_local_path其实就是这个小项目的根路径,我们直接找到sql文件夹下的apolloportaldb.sql文件就行了,如下:

    quick-start目录结构.png
    sql文件.png
    下面以MySQL原生客户端为例:
    source /your_local_path/sql/apolloportaldb.sql

    那么在我这里的命令就是source E://personerIdea//apollo-quick-start//sql//apolloportaldb.sql
    导入成功后,可以通过执行以下sql语句来验证:select Id, AppId, Name from ApolloPortalDB.App;

    验证-1.png
    2.1.2 创建ApolloConfigDB

    通过各种MySQL客户端(例如:Navicat)导入sql/apolloconfigdb.sql即可。
    下面以MySQL原生客户端为例:source /your_local_path/sql/apolloconfigdb.sql,这个路径和上面的类似。

    导入成功后,可以通过执行以下sql语句来验证:

     select `NamespaceId`, `Key`, `Value`, `Comment` from ApolloConfigDB.Item;
    
    验证-2.png

    2.2 配置数据库连接信息

    修改ApolloPortalDB和ApolloConfigDB相关的数据库连接串信息,由于这些信息都在demo.sh文件中,所以可以使用Notepad++打开demo.sh进行修改,需要修改的内容如下:

    # apollo config db info
    apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
    apollo_config_db_username=root
    apollo_config_db_password=123456
    
    # apollo portal db info
    apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
    apollo_portal_db_username=root
    apollo_portal_db_password=123456
    

    上图中的密码我已经修改过了,源文件是空着的,如果没有给当前mysql用户(root)设置密码的话空着就行了,需要注意文件中一个地方:

    # meta server url
    config_server_url=http://localhost:8080
    admin_server_url=http://localhost:8090
    eureka_service_url=$config_server_url/eureka/
    portal_url=http://localhost:8070
    

    这里分别使用了三个端口,所以在启动apollo之前需要确认这三个端口没有被使用,可以参考查看端口并杀死进程这篇文章


    三、启动Apollo配置中心

    3.1 执行启动脚本

    ./demo.sh start
    以上命令在Linux中能直接运行,但在window中需要先下载bash客户端,比如常用的Git bash,只要安装了git,再点击鼠标右键就会出现这个,在Git bash中运行如下:

    启动日志.png

    看到如图中的输出,表明启动成功。

    3.2 异常排查

    如果启动遇到了异常,可以分别查看service和portal目录下的log文件排查问题。上图中也是有提示的。


    四、服务端验证

    • 访问http://localhost:8080/,可以进入eureka监控界面,如下:
      eureka.png
    • 访问http://localhost:8070/config.html?#进入apollo管理界面,如下:
      Apollo登录.png
      登录默认账号密码是:apollo/admin,进入后就会看到一个SampleApp应用,到此,apollo启动成功。

    五、运行apollo客户端

    我们在apollo目录结构中发现有一个client文件夹,里面已经封装好了客户端的代码程序,所以在apollo根目录直接运行就可以了。运行命令如下:

    ./demo.sh client
    

    运行效果如下:

    apollo client.png
    输入timeoutenter回车,控制台会打印对应的值

    刚才通过访问http://localhost:8070进入了apollo管理页面,现在再刷新一下页面,页面如下:

    apollo主页面.png

    点击修改操作,修改timeout的值为150,完成后发布,步骤如下:

    修改操作.png

    发布后,客户端会有变化,如下:


    发布.png

    客户端已经接收到修改后的值,再在客户端查询timeout值,结果如下:

    再次查询.png

    六、比较

    指标 apollo spring cloud config
    动态刷新 速度很快,基本1秒可以独立完成 需要依赖git的修改和发布以及spring cloud busmonitor,webhook才能达到同样的标准,但速度相对要
    界面化监控工具
    配置维度 application(应用)、env(环境)、cluster(集群)、namespace(命名空间) application(应用)、env(环境)、label(分支)
    fallback 具备版本概念,支持回滚 需要Git支持回滚
    权限管理、发布审核、操作审计 支持 需要Git支持

    如果您没有尝试过spring cloud config,可以花一点时间看看这篇文章springcloud:config+bus-amqp+actuator+monitor+码云实现配置文件动态刷新

    `

    相关文章

      网友评论

          本文标题:apollo quick start操作

          本文链接:https://www.haomeiwen.com/subject/opximctx.html