假设加速域名为 www.a.com,接入 CDN 网络,开始使用加速服务后,当终端 用户(北京)发起 HTTP 请求时,处理流程如下
1. 当终端用户(北京)向 www.a.com 下的某资源发起请求时,首先向 LDNS (本地 DNS)发起域名解析请求
2. LDNS 检查缓存中是否有 www.a.com 的 IP 地址记录。如果有,则直接返 回给终端用户;如果没有,则向授权 DNS 查询。
3. 当授权 DNS 解析 www.a.com 时,返回域名 CNAME www.a.tbcdn.com 对应 IP 地址。
4. 域名解析请求发送至阿里云 DNS 调度系统,并为请求分配最佳节点 IP 地址。
5. LDNS 获取 DNS 返回的解析 IP 地址。
6. 用户获取解析 IP 地址。
7. 用户向获取的 IP 地址发起对该资源的访问请求。
● 如果该 IP 地址对应的节点已缓存该资源,则会将数据直接返回给用户.
● 如果该 IP 地址对应的节点未缓存该资源,则节点向源站发起对该资源的请求。 获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点。
特别注意 CDN 调度系统分配节点的时候,是根据客户端的 LocalDNS 来分配节点的, 而不是根据客户端 IP 来分配节点的。因此,如果客户端 LocalDNS 设置不正 确的话会导致无法分配调度到最优的节点。