Apollo 本地快速部署
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
Apollo 与 properties 配置文件的功能相同,都可以设置参数。Apollo 的优点在于,可以实时修改参数的值,而不需要重启项目。
1 环境准备
需要 Java 1.8 及以上,MySQL 5.6 及以上的版本。
MySQL 安装配置方式:https://mp.weixin.qq.com/s/ISCjsIpmccVnuvXPkiFLMw
如果只是本地测试的话,推荐使用 GitHub 上的开源项目 Apollo Quick Start;
安装包下载地址:https://pan.baidu.com/s/11dYV5x1Qu7svEGaJLShoqQ?pwd=6666
提取码:6666
2 SQL 导入
下载并解压安装包 apollo-quick-start-2.0.1.zip,可以看到目录下有 sql 文件夹,里面有 apolloconfigdb.sql 和 apolloportaldb.sql 两个文件,需要将这两个文件导入 MySQL 中。
打开 win 菜单中的 MySQL 8.0 Command Line Client - Unicode 命令,
运行:
D:\Apollo
是我存放 apollo-quick-start-2.0.1 文件夹的路径。
即可完成导入。
导入成功后,可以通过执行以下 sql 语句来验证:
有以下输出,表示导入成功。
3 启动 Apollo
编辑 apollo-quick-start-2.0.1 文件夹下的 demo.sh,修改 ApolloPortalDB 和 ApolloConfigDB 相关的数据库连接配置信息。
我的数据库的账号密码均为 root。
找到 demo.sh 的第 72 行,将 cd "${0%/*}"
改为当前路径:
打开 win 菜单中的 Git Bash,运行 demo.sh 。
等待运行一段时间后,当看到如下输出,就说明启动成功了。
访问 http://localhost:8070 ,输入用户名 apollo,密码 admin,即可登录。
停止运行命令:
需要注意,apollo 端口号为 8070,但在 Java 工程的 properties 中, apollo.meta
设置的端口号应为 Eureka 的端口号 8080。
4 使用 Apollo
点击创建应用:
输入自定义的参数:
即可创建成功。然后在新创建的应用中增加配置:
5 项目实例
下载一个测试项目 learn-apollo
:
GitHub 地址:https://github.com/Snowstorm0/learn-apollo
Gitee 地址:https://gitee.com/Snowstorm0/learn-apollo
在运行项目之前需要修改 resource/application.properties 中 apollo.meta 的值,将 localhost 替换为 apollo 的地址,端口号为 Eureka 的端口号(默认为 8080)。
在 Apollo 中新增并发布如下三个参数:
learn-apollo
是一个定时任务,可以每隔 5 秒输出一次 apollo 的参数信息。
运行该项目,输出:
然后在 apollo 中修改参数的值,将str1
改为str2
。
不需要重启项目,此时项目会输出参数更新的日志信息:
项目的输出也变了:
学习更多编程知识,请关注我的公众号:
版权声明: 本文为 InfoQ 作者【代码的路】的原创文章。
原文链接:【http://xie.infoq.cn/article/914e335be3dc289ca8d0e08ba】。文章转载请联系作者。
评论