前言
配置中心伴随着这几年分布式系统演变和微服务架构的兴起,已经成为必不可少的需求之一。试下一下如果哪天公司的所有应用服务,从公司服务器迁移到云服务,成千上万的配置,修改起来是多么耗时费劲的事(我们公司就是……)。
配置中心主要有以下特点:
- 配置动态化
- 管理集中化
修改配置不需要重新发布配置文件,而且可以复用,同一个的配置只需要修改一次,省时省力。通过后台统一管理,修改、查看,部分产品还支持配置版本管理。
Why Apollo
- 国产
- 开源
- 功能强大
首先是支持国产,同时在遇到问题也可以良好的和国人交流沟通。其次功能很全,满足公司的所有需要,不需要二次开发。
优势
阿波罗的功能非常强大,几乎满足一般的分布式系统的使用要求,重点主要如下:
- 配置多维度
- application (应用)
- environment (环境)
- cluster (集群)
- namespace (命名空间)
- 版本发布管理
- 历史查看
- 版本回滚
- 后台权限管理
- 发布审核
- 操作审计
- 更新机制
- 推
- 拉
- 客户端监控
- 客户端实例查看
- 配置实用实例查看
缺点
强大的功能,必然伴随少许缺点:
- 一定的学习成本
- 部署繁杂
官方文档说明部署简单,我认为不然,依赖jdk1.8,(我试了1.9部署Quick Start版本失败了),mysql,脚本需要自己导入,在windows平台还需要gitbash。
总的来说利大于弊,还是值得去使用的。
准备
部署
注意jdk的环境变量配置
导入脚本
在刚下载apollo-build-scripts里sql目录下的两个脚本导入到mysql里
apolloconfigdb.sql
apolloportaldb
修改项目数据库配置
编辑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=123456789 # apollo portal db info apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8 apollo_portal_db_username=root apollo_portal_db_password=123456789
启动
打开cmd,切换到刚下载的apollo-build-scripts目录下。
1 2 3 |
|
==== 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!
如果控制台输出以上为启动成功