goedge分发原理是什么,用户访问网站的时候要经过api服务器吗,还是直接请求边缘节点

208 次阅读

本文最后更新于 2026年5月15日。

GoEdge 的分发原理基于 控制面与数据面分离 的架构。简单直接的答案是:用户访问网站时,完全不需要经过 API 服务器,而是直接请求边缘节点。

为了让你理解得更透彻,我们可以把整个过程拆解为“配置下发”和“流量访问”两个阶段。


1. 配置下发阶段(控制面)

这是你作为管理员在后台操作的过程。

  1. 你在 Admin (管理面板) 修改配置。

  2. Admin 将指令传给 API 服务器,并存入数据库。

  3. Edge 节点 定期(或通过 WebSocket 实时)向 API 服务器 拉取最新的配置信息。

  4. 节点将配置保存在本地内存和磁盘中。

2. 用户访问阶段(数据面)

这是普通用户打开你网站的过程。

  1. DNS 解析:用户访问域名,DNS 根据地理位置将域名解析到最近的 Edge 节点 IP

  2. 建立连接:用户的浏览器直接与 Edge 节点 握手。

  3. 处理请求

    • 命中缓存:节点直接从本地磁盘/内存返回数据给用户。

    • 未命中/动态请求:节点根据之前从 API 拉取的配置,直接向你的 源站地址 发起回源请求。

  4. 响应:源站返回给节点,节点再转发给用户。


3. 为什么不经过 API 服务器?

如果每个用户的请求都要经过 API 服务器,会产生以下致命问题:

  • 性能瓶颈:API 服务器会因为瞬时大流量直接崩溃。

  • 延迟增加:API 往往部署在内网或特定机房,绕路访问会极大地增加响应时间。

  • 单点故障:如果 API 服务器宕机,只要节点不重启,现有的网站依然可以正常访问(因为配置已经缓存在节点本地了)。


核心逻辑总结

维度 API 服务器 (API Node) 边缘节点 (Edge Node)
角色 大脑 / 指挥官 士兵 / 搬运工
处理数据 配置指令、监控统计 网页 HTML、图片、视频流
用户可见性 用户不可见 用户直接连接的对象
宕机影响 无法修改配置,但不影响现有访问 对应节点的网站无法打开

一句话总结: API 服务器负责“告诉节点该干什么”,而边缘节点才是那个“真正干活”的人。用户永远只和干活的人打交道。