淘宝的图片接入,98%的流量都去了CDN缓存。只有2%会返回源站,节省了大量服务器资源。
但如果在用户访问高峰期,图片内容大量变化,大量用户访问会穿透cdn,对源站造成很大压力。

以阿里云官网为例简单介绍一下CDN的工作原理。
假设CDN加速的域名是www.a.com,接入CDN网络并开始使用加速服务后,当最终用户发起HTTP请求时,处理流程如下:
当最终用户请求www.a.com下的特定资源时,它首先向LDNS发出域名解析请求。

在缓存中,LDNS检查是否有www.a.com的IP地址记录。如果是,直接返回给最终用户;如果没有,查询授权的DNS。
当DNS被授权解析www.a.com时,将返回与域名www.a.tbcdn.com CNAME对应的IP地址。
域名解析请求发送到阿里云DNS调度系统,为请求分配最佳节点IP地址。

LDNS获取DNS返回的解析后的IP地址。
用户获得解析的IP地址。
用户想要获取的IP地址发起对资源的访问请求。
如果该IP地址对应的节点已经缓存了该资源,则直接将数据返回给用户,例如图中的步骤7和8,请求结束。
如果对应于该IP地址的节点没有缓存该资源,则该节点向源站发起对该资源的请求。获取资源后,结合用户自定义的缓存策略,将资源缓存到一个节点,例如图中的北京节点,并返回给用户,请求结束。


