CDN访问流程
访问一个未经CDN缓存的内容流程
- 用户输入网站如 www.aa.com,在本地没有 DNS 缓存,则需要向dns服务器发起请求
- 由于配置了CNAME,因此dns解析出来是一个别名,如 www.aa.xxcdn.com
- 请求指向了CDN网络中的智能 DNS 负载均衡系统
- 智能 DNS 负载均衡系统解析域名,返回给用户就近的缓存服务器(CDN)的 ip 节点给用户
- 用户请求该 ip 节点(CDN)
- 由于未经缓存,该ip节点会探测就近的节点上是否存在该内容。如果不存在则继续向上级节点回源(如中心节点等)
- 如果边缘节点、中心节点都不存在,则继续向源站回源(即内容厂商的服务器处)
- 中心节点获取到内容后返回边缘节点,边缘节点再返回给用户。至此即在 CDN 上缓存了响应的内容。
**注:**对于未经缓存的内容,CDN并不一定能提升访问速度。因为流程相比直接访问原始服务器的步骤增加了,但是在回源过程中,CDN 厂商一般会优化回源路径,因此回源的速度也相对是比较快的。因此对未经缓存的内容速度不一定是 CDN 快。