返回

Apollo本地快速部署文档,带你轻松玩转Apollo

后端

一、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本地环境。

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的简介、本地部署步骤、使用教程等内容,希望对大家有所帮助。