携程Apollo 分布式配置中心-本地单机部署
关于Apollo分布式配置中心的详细介绍,可以查看:
携程Apollo(阿波罗)分布式配置中心-总体架构设计和核心概念
Apollo Java运行环境
Apollo服务端:1.8+
Apollo客户端:1.7+
" image_type="1" mime_type="image/png" web_uri="pgc-image/78b4332f3f7141ee829dbddf79bf4879">
MySQL 版本要求:5.6.5+
" image_type="1" mime_type="image/png" web_uri="pgc-image/0208cc98b10f458fbff670c00fdaec33">
下载Quick Start安装包
从Github下载
https://github.com/nobodyiam/apollo-build-scripts
" image_type="1" mime_type="image/png" web_uri="pgc-image/a54422487bec4aebb18f8aa0964ab5d7">
Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,我们把数据库、表的创建和样例数据都分别准备了sql文件,只需要导入数据库即可。注意:会清空已有的数据。
创建ApolloPortalDB
" image_type="1" mime_type="image/png" web_uri="pgc-image/2eb169f738324d0ca3219ef829bd162b">
通过各种MySQL客户端导入sql/apolloportaldb.sql即可。
下面以MySQL原生客户端为例:
source /your_local_path/sql/apolloportaldb.sql
导入成功后,可以通过执行以下sql语句来验证:
select `Id`, `AppId`, `Name` from ApolloPortalDB.App;
" image_type="1" mime_type="image/png" web_uri="pgc-image/e093f2bec3ae4d4ebfde60a786f29bb0">
创建ApolloConfigDB
通过各种MySQL客户端导入sql/apolloconfigdb.sql即可。
下面以MySQL原生客户端为例:
source /your_local_path/sql/apolloconfigdb.sql
" image_type="1" mime_type="image/png" web_uri="pgc-image/41e5806be75d472b81651efa52608b42">
导入成功后,可以通过执行以下sql语句来验证:
select `NamespaceId`, `Key`, `Value`, `Comment` from ApolloConfigDB.Item;
" image_type="1" mime_type="image/png" web_uri="pgc-image/07b553a1d47d40428b3d9b2668cc9298">
配置数据库连接信息
Apollo服务端需要知道如何连接到你前面创建的数据库,所以需要编辑demo.sh,修改ApolloPortalDB和ApolloConfigDB相关的数据库连接串信息。
注意:填入的用户需要具备对ApolloPortalDB和ApolloConfigDB数据的读写权限。
#apollo config db info
apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=用户名
apollo_config_db_password=密码(如果没有密码,留空即可)
# apollo portal db info
apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=用户名
apollo_portal_db_password=密码(如果没有密码,留空即可)
注意:不要修改demo.sh的其它部分
启动Apollo配置中心
1. 确保端口未被占用
Quick Start脚本会在本地启动3个服务,分别使用8070, 8080, 8090端口,请确保这3个端口当前没有被使用。
在Linux/Mac下,可以通过如下命令检查:lsof -i:8080
在Windows环境下,可以通过netstat -ano命令检查。
Windows 下查询端口port 占用情况
2. 执行启动脚本
./demo.sh start
" image_type="1" mime_type="image/png" web_uri="pgc-image/3b6b4791382c451e9101a738e2bb2f51">
当看到如下输出后,就说明启动成功了!
==== starting service ====
Service logging file is ./service/apollo-service.log
Started [10768]
Waiting for config service startup.......
Config service started. You may visit http://localhost:8080 for service status now!
Waiting for admin service startup....
Admin service started
==== starting portal ====
Portal logging file is ./portal/apollo-portal.log
Started [10846]
Waiting for portal startup......
Portal started. You can visit http://localhost:8070 now!
使用Apollo配置中心
通过 demo.sh 文件,可以查看到3个应用的端口号。
" image_type="1" mime_type="image/png" web_uri="pgc-image/d2d1c450d96e42a08ebc8abcd332c3c8">
访问 打开http://localhost:8070,看到如下图界面。
" image_type="1" mime_type="image/png" web_uri="pgc-image/abe343f9b13c441590c485b5a21349e9">
输入用户名:apollo,密码:admin 登录。登录后显示界面如下。
Apollo Portal 管理界面
" image_type="1" mime_type="image/png" web_uri="pgc-image/68fc3b5d0d9c46f7b35767858a5a1568">
创建一个项目,如下图所示。
" image_type="1" mime_type="image/png" web_uri="pgc-image/c783bbff182541018e5f56304a02d693">
在该应用【123456789】中,新增一个配置项,如下所示。
" image_type="1" mime_type="image/png" web_uri="pgc-image/f7ee875bda5c4bc9803d58d4c9de22f9">
点击【发布】按钮,将配置信息发布出去。
" image_type="1" mime_type="image/png" web_uri="pgc-image/0137742cb31b495c926189952004b160">
到这里,Apollo 服务端基本配置完成了。后面会在Spring Cloud 项目中来验证配置信息是否可用。
用户评论
这游戏名字听起来好专业啊,分布式配置中心是啥意思?
有6位网友表示赞同!
不知道这个Apollo是什么游戏类型,看起来挺高级的。
有18位网友表示赞同!
本地单机部署说明是可以独立玩对吧?不错,支持独立玩家。
有13位网友表示赞同!
详细操作步骤是不是意味着教程很全?这对于新手来说是个福音啊。
有19位网友表示赞同!
Apollo游戏的操作界面看着应该是很清晰了。
有7位网友表示赞同!
分布式配置中心听起来有点复杂,但是解决了配置管理的问题真是太棒了。
有14位网友表示赞同!
本地部署应该不会有网络延迟吧?希望体验流畅。
有13位网友表示赞同!
这款游戏看起来需要一定的IT知识才能玩转啊。
有6位网友表示赞同!
详细步骤说明对开发者和系统管理员来说很有帮助。
有18位网友表示赞同!
Apollo的名字有点像科幻游戏呢,感觉应该是未来感十足。
有17位网友表示赞同!
单机部署的话,不用担心联机问题,可以沉浸在自己的世界中吧。
有17位网友表示赞同!
这款游戏的玩法肯定很独特,期待了解具体是如何操作的。
有14位网友表示赞同!
Apollo的名字和配置中心的设定挺吸引人的,想深入了解。
有17位网友表示赞同!