apollo quick start操作

2019-10-18  本文已影响0人  CXY_XZL

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

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

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文件排查问题。上图中也是有提示的。


四、服务端验证


五、运行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+码云实现配置文件动态刷新

`

上一篇下一篇

猜你喜欢

热点阅读