goedge的api节点也可以建立多个吗

251 次阅读

本文最后更新于 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 节点的步骤非常简单:

  1. 准备环境: 在新服务器上下载并解压 GoEdge API 安装包。

  2. 配置数据库: 修改新 API 节点的 configs/db.yaml,将其指向与第一个 API 节点相同的数据库

  3. 启动服务: 运行 bin/edge-api

  4. 在 Admin 后台注册:

    • 登录 Admin 后台。

    • 进入 “系统配置” -> “API节点”

    • 点击“创建 API 节点”,填入新服务器的 IP 和端口。

  5. 告知边缘节点:

    • 在 Admin 的“集群设置”中,更新 API 列表。

    • 边缘节点会自动收到更新,知道现在有了多个可以连接的“总部”。


4. 关键注意事项

  • 数据库压力: 增加 API 节点虽然分担了业务压力,但所有 API 都会频繁读写数据库。请确保你的 MySQL 数据库性能足够,或者配置了主从分离。

  • Secret 同步: 确保所有 API 节点的通信安全密钥一致(通常在首次安装后同步即可)。

  • Admin 端的连接: 你的 Admin(管理后台)也需要配置多个 API 地址,以便在主 API 挂掉时,你依然能通过后台操作。

总结: 对于只有 1-5 个节点的小型 CDN,一个 API 节点足够;但如果你是在做正式的商业 CDN 或高可用架构,建议至少部署 2 个 API 节点