返回
Apollo本地快速部署文档,带你轻松玩转Apollo
后端
2023-11-03 16:51:00
一、Apollo简介
Apollo是一个分布式配置管理中心,用于集中管理应用的配置,支持众多主流语言,提供规范的配置管理、发布、灰度、回滚等功能。Apollo是百度开源的一个项目,在GitHub上开源,目前已有超过10万的stars。
Apollo的诞生背景是,随着分布式微服务的流行,应用的配置变得越来越复杂,传统的配置管理方式已经无法满足需求。Apollo旨在提供一套统一的、可扩展的配置管理解决方案,帮助用户轻松地管理和发布配置,同时提供丰富的功能和良好的用户体验。
Apollo的主要特性包括:
- 集中管理:Apollo将所有应用的配置集中到一个地方进行管理,方便用户查看、修改和发布配置。
- 分布式:Apollo采用分布式架构,支持横向扩展,可以满足大规模应用的配置管理需求。
- 高可用:Apollo提供高可用架构,确保配置服务的稳定性和可靠性。
- 多环境支持:Apollo支持多环境部署,用户可以在不同的环境中使用不同的配置,方便进行开发、测试和生产部署。
- 灰度发布:Apollo支持灰度发布功能,允许用户将新配置逐步发布到生产环境中,降低发布风险。
- 历史版本回滚:Apollo支持历史版本回滚功能,允许用户在出现问题时快速回滚到之前的版本。
二、Apollo本地部署步骤
1. 准备工作
在开始部署Apollo之前,需要先进行一些准备工作。
- JDK 1.8+:Apollo需要在JDK 1.8或更高版本的环境中运行。
- MySQL数据库:Apollo需要使用MySQL数据库来存储配置数据。
- Git:Apollo的源码托管在GitHub上,需要安装Git来下载源码。
2. 下载Apollo快速启动包
Apollo提供了快速启动包,可以帮助用户快速搭建一个Apollo本地环境。
- 下载地址:https://github.com/apolloconfig/apollo-quick-start
- 下载完成后,解压快速启动包到本地目录。
3. 修改demo.sh脚本
快速启动包中包含了一个demo.sh脚本,用于启动Apollo。需要对该脚本进行一些修改,才能正常启动Apollo。
- 打开demo.sh脚本,找到以下几行代码:
# 数据库相关配置
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASS=root
# Apollo相关配置
APOLLO_PORT=8080
-
将以上几行代码中的值修改为自己的配置。
-
DB_HOST:MySQL数据库的主机地址。
-
DB_PORT:MySQL数据库的端口号。
-
DB_USER:MySQL数据库的用户名。
-
DB_PASS:MySQL数据库的密码。
-
APOLLO_PORT:Apollo服务的端口号。
4. 启动Apollo服务
修改完demo.sh脚本后,就可以启动Apollo服务了。
- 打开终端,进入到快速启动包的目录。
- 执行以下命令启动Apollo服务:
sh demo.sh start
- 启动完成后,可以在浏览器中访问
http://localhost:8080
来访问Apollo的管理界面。
5. 创建配置项
登录Apollo的管理界面后,就可以创建配置项了。
- 点击“应用管理”菜单,选择“应用列表”。
- 点击“新建应用”按钮,创建新的应用。
- 在弹出的窗口中填写应用名称、等信息,然后点击“提交”按钮。
- 创建好应用后,点击“配置管理”菜单,选择“配置项列表”。
- 点击“新建配置项”按钮,创建新的配置项。
- 在弹出的窗口中填写配置项的名称、等信息,然后点击“提交”按钮。
三、Apollo使用教程
1. 发布配置
创建好配置项后,就可以发布配置了。
- 点击“配置发布”菜单,选择“发布列表”。
- 点击“新建发布”按钮,创建新的发布。
- 在弹出的窗口中选择要发布的应用和配置项,然后点击“提交”按钮。
2. 灰度发布
Apollo支持灰度发布功能,允许用户将新配置逐步发布到生产环境中。
- 在创建发布时,可以选择灰度发布模式。
- 在灰度发布模式下,Apollo会将新配置发布到一部分服务器上,然后观察新配置的效果。
- 如果新配置效果良好,可以逐步扩大发布范围,直到所有服务器都使用新配置。
3. 历史版本回滚
如果在发布新配置后出现问题,可以回滚到之前的版本。
- 点击“配置发布”菜单,选择“发布列表”。
- 找到需要回滚的发布,然后点击“回滚”按钮。
- Apollo会将配置回滚到之前的版本。
四、总结
Apollo是一个功能强大、易于使用的配置管理中心,可以帮助用户轻松地管理和发布配置。本文档介绍了Apollo的简介、本地部署步骤、使用教程等内容,希望对大家有所帮助。