实现数据面弹性
弹性是指系统承受和从故障、中断或意外事件中恢复的能力。
在本文档中,你将学习为什么你应该在 API7 中考虑数据面 (DP) 弹性模式以及如何实现它,以便当控制面 (CP) 不可用时,DP 实例仍然可以正常运行。这可以帮助你制定灾难恢复计划,并在控制面 (CP) 不可用时快速恢复关键任务功能,从而确保系统的高可用性。
为什么考虑 DP 弹性
DP 可能会遇到连接 CP 的问题。以下是一些可能的原因:
- DP 和 CP 实例之间的网络连接不良
- CP 数据库崩溃
- CP 升级
- CP 主机上的资源争用
- CP 主机硬件故障
DP 弹性模式
API7 企业版支持将 CP 配置为定期将配置转储到 AWS S3 存储桶,以便在 CP 发生故障时,DP 可以以 独立模式 启动,并从存储中提取最新的网关配置以继续代理请求。

CP 恢复后,DP 应继续从 CP 获取配置。
实现 DP 弹性
前提条件
- 安装 API7 企业版。
- 如果你想在 Kubernetes 上部署资源,请完成在 Kubernetes 上使用 API7 Ingress Controller 进行部署。
- 完成启动示例上游服务和创建服务和路由。
配置 AWS 资源
- 创建一个 AWS 账户并以 IAM 用户身份登录。
- 创建两个 S3 存储桶,一个用于网关实例配置,例如密钥环和发现;另一个用于网关资源配置,例如路由和服务。
- 获取 IAM 用户访问密钥和秘密访问密钥。
- 将允许对 S3 存储桶中的对象进行读写访问的策略附加到 IAM 用户。
将 CP 配置为备份配置
在你运行快速入门命令安装 API7 企业版的工作目录中,你应该找到一个 api7-ee 目录,其中包含 docker-compose.yaml 和各种服务配置文件。