本文最后更新于 2026年5月15日。
是的,API 节点绝对可以建立多个,而且在生产环境中,部署多个 API 节点是实现高可用性(High Availability)和负载均衡的核心手段。
在 GoEdge 的架构中,API 节点是连接“管理后台(Admin)”和“边缘节点(Edge Node)”的桥梁。如果只有一个 API 节点且它宕机了,虽然边缘节点还能继续运行旧配置,但你将无法下发新配置,节点也无法上报统计数据。
1. 为什么需要多个 API 节点?
-
高可用性: 防止单点故障。一个 API 节点挂了,边缘节点可以自动切换到备用 API 节点。
-
负载均衡: 当你有成百上千个边缘节点时,单个 API 节点的并发处理能力(处理日志、监控数据)可能会遇到瓶颈,多个 API 可以分担压力。
-
就近接入: 如果你的边缘节点遍布全球,可以在不同地区部署 API 节点,减少节点上报数据的网络延迟。
2. 部署多个 API 节点的两种模式
通常有两种常见做法:
方案 A:主备/集群模式(推荐)
你可以在多台服务器上安装 edge-api 程序,并让它们连接同一个 MySQL 数据库。
-
数据一致性: 因为它们共享同一个数据库,所以无论边缘节点连接哪一个 API,获取到的配置都是一致的。
-
前端挂载负载均衡: 你可以在这些 API 节点前面加一个四层负载均衡(如 LVS、或者另一个专门做转发的 Nginx/GoEdge 节点),对外提供一个统一的 API VIP 或域名。
方案 B:冗余地址模式
在 GoEdge 的边缘节点配置中,是可以填写多个 API 地址的。
- 当主 API 地址连接失败时,边缘节点会自动尝试列表中的下一个地址。
3. 如何增加新的 API 节点?
增加 API 节点的步骤非常简单:
-
准备环境: 在新服务器上下载并解压 GoEdge API 安装包。
-
配置数据库: 修改新 API 节点的
configs/db.yaml,将其指向与第一个 API 节点相同的数据库。 -
启动服务: 运行
bin/edge-api。 -
在 Admin 后台注册:
-
登录 Admin 后台。
-
进入 “系统配置” -> “API节点”。
-
点击“创建 API 节点”,填入新服务器的 IP 和端口。
-
-
告知边缘节点:
-
在 Admin 的“集群设置”中,更新 API 列表。
-
边缘节点会自动收到更新,知道现在有了多个可以连接的“总部”。
-
4. 关键注意事项
-
数据库压力: 增加 API 节点虽然分担了业务压力,但所有 API 都会频繁读写数据库。请确保你的 MySQL 数据库性能足够,或者配置了主从分离。
-
Secret 同步: 确保所有 API 节点的通信安全密钥一致(通常在首次安装后同步即可)。
-
Admin 端的连接: 你的 Admin(管理后台)也需要配置多个 API 地址,以便在主 API 挂掉时,你依然能通过后台操作。
总结: 对于只有 1-5 个节点的小型 CDN,一个 API 节点足够;但如果你是在做正式的商业 CDN 或高可用架构,建议至少部署 2 个 API 节点。