本文最后更新于 2026年5月15日。
GoEdge 的分发原理基于 控制面与数据面分离 的架构。简单直接的答案是:用户访问网站时,完全不需要经过 API 服务器,而是直接请求边缘节点。
为了让你理解得更透彻,我们可以把整个过程拆解为“配置下发”和“流量访问”两个阶段。
1. 配置下发阶段(控制面)
这是你作为管理员在后台操作的过程。
-
你在 Admin (管理面板) 修改配置。
-
Admin 将指令传给 API 服务器,并存入数据库。
-
Edge 节点 定期(或通过 WebSocket 实时)向 API 服务器 拉取最新的配置信息。
-
节点将配置保存在本地内存和磁盘中。
2. 用户访问阶段(数据面)
这是普通用户打开你网站的过程。
-
DNS 解析:用户访问域名,DNS 根据地理位置将域名解析到最近的 Edge 节点 IP。
-
建立连接:用户的浏览器直接与 Edge 节点 握手。
-
处理请求:
-
命中缓存:节点直接从本地磁盘/内存返回数据给用户。
-
未命中/动态请求:节点根据之前从 API 拉取的配置,直接向你的 源站地址 发起回源请求。
-
-
响应:源站返回给节点,节点再转发给用户。
3. 为什么不经过 API 服务器?
如果每个用户的请求都要经过 API 服务器,会产生以下致命问题:
-
性能瓶颈:API 服务器会因为瞬时大流量直接崩溃。
-
延迟增加:API 往往部署在内网或特定机房,绕路访问会极大地增加响应时间。
-
单点故障:如果 API 服务器宕机,只要节点不重启,现有的网站依然可以正常访问(因为配置已经缓存在节点本地了)。
核心逻辑总结
| 维度 | API 服务器 (API Node) | 边缘节点 (Edge Node) |
|---|---|---|
| 角色 | 大脑 / 指挥官 | 士兵 / 搬运工 |
| 处理数据 | 配置指令、监控统计 | 网页 HTML、图片、视频流 |
| 用户可见性 | 用户不可见 | 用户直接连接的对象 |
| 宕机影响 | 无法修改配置,但不影响现有访问 | 对应节点的网站无法打开 |
一句话总结: API 服务器负责“告诉节点该干什么”,而边缘节点才是那个“真正干活”的人。用户永远只和干活的人打交道。