Appearance
核心概念
本系统采用企业级分布式架构。为了构建高性能的分层缓存网络,请务必理解本平台的“双层调度机制”、“分组回源策略”以及“分片缓存算法”。
1. 流量调度体系 (双层域名)
本平台采用 “接入域名” 与 “转换域名” 分离的设计,将用户侧配置与系统侧调度完全解耦。
1.1 流量解析链路
当终端用户访问您的网站时,流量会严格按照以下顺序流转:
- 用户请求:访问您的业务域名(如
www.example.com)。 - 接入层:DNS CNAME 到 [接入域名](如
cdn.site.com)。这是流量的统一入口。 - 调度层:系统内部将接入域名 CNAME 到 [转换域名](如
node.internal-dns.net)。智能 DNS 在此处根据用户 IP 判断地域。 - 节点层:转换域名最终解析到具体的 CDN 节点 IP。
2. 节点分组与回源策略
节点分组 是本系统构建网络拓扑的核心单元。分组不再仅仅是节点的集合,它定义了节点在网络中的角色(边缘或上游)以及组内协作方式。
2.1 分组角色与层级
通过配置“多级回源策略”,您可以将不同的分组定义为以下角色:
- 边缘组
- 定义:直接面向终端用户提供服务的节点集合。
- 职责:处理 DNS 解析流量,进行第一层缓存与 WAF 清洗。
- 上游组
- 定义:作为边缘组的“父级”或“中间层”。
- 职责:汇聚来自边缘组的请求,减少回源到源站的压力。
2.2 回源链路配置
每个分组都可以独立配置“回源策略”,决定当缓存未命中(Cache Miss)时去哪里获取数据:
| 策略类型 | 流量流向 | 适用场景 |
|---|---|---|
| 直接回源 | 边缘组 → 源站 | 简单的扁平化网络,或源站性能极强。 |
| 上游回源 | 边缘组 → 上游组 → 源站 | 大型网络。通过上游组进行分片缓存和流量合并,保护脆弱的源站。 |
📊 链路可视化:配置完成后,您可以在系统的“回源链路”视图中,通过图形化方式查看组与组之间的级联关系。
2.3 组内协同:分片缓存
在同一个分组内部,节点之间通过算法实现资源共享,而非各自为战。
- 哈希映射:当请求到达组内任意节点时,系统会根据 URL 进行一致性哈希计算。
- 请求流转:
- 如果计算结果显示该资源归属当前节点 → 直接查找。
- 如果归属组内其他节点 → 内部转发给目标节点查找。
- 未命中处理:如果目标节点也没有缓存,则由该节点根据回源策略(去源站或去上游组)发起请求。
3. 常见 CDN 术语表
为了更好地使用本系统,以下是您可能会遇到的行业通用术语:
| 术语 | 英文 | 解释 |
|---|---|---|
| 回源 | Origin Pull | 当 CDN 节点缓存中没有用户请求的数据时,向源站(或上级节点)请求数据的过程。 |
| 回源 Host | Origin Host | 节点在回源时,在 HTTP Header 中告诉源站“我想访问哪个域名”。注意:这通常与回源 IP 不同。 |
| 命中率 | Hit Rate | 用户请求直接由 CDN 缓存响应的比例。命中率越高,源站压力越小,用户访问越快。 |
| 惊群效应 | Thundering Herd | 当高热度资源(如热点新闻)缓存过期瞬间,大量并发请求同时穿透 CDN 打到源站。使用上游组可以有效缓解此问题。 |
| 预热 | Pre-heat | 在业务高峰前,主动将资源(如安装包、大文件)推送到 CDN 节点缓存中,使用户第一次访问就能命中。 |
| CNAME | Canonical Name | 别名记录。将您的业务域名映射到 CDN 接入域名的 DNS 记录类型。 |