假设我的www.wechoz.com域名接入了CDN,现在想获取该域名下的某个image资源,那首次访问流程如下图所示:
(1)客户端发起HTTP请求,首先向LocalDNS发起DNS请求,目的是获取最佳的CDN节点IP地址。
(2)LocalDNS收到DNS请求后,检查本地没有www.wechoz.com域名的解析记录,则向权威DNS获取IP地址。
(3)权威DNS发现www.wechoz.com域名的解析记录是CNAME,然后将CNAME记录返回给LocalDNS。
(4)LocalDNS得到CNAME后,再次发起DNS请求到CDN的调度DNS。
(5)CDN调度DNS返回www.wechoz.com域名的最佳节点IP地址给LocalDNS。
(6)LocalDNS将IP地址返回客户端。
(7)客户端获取到IP地址后,向CDN L1发起HTTP请求。
(8)CDN L1检查本地没有image资源的缓存,则向CDN L2发起HTTP请求。
(9)CDN L2检查本地也没有image资源的缓存,则向源站发起HTTP请求。
(10)源站将image返回CDN L2。
(11)CDN L2将image返回给CDN L1,并在本地缓存一份。
(12)CDN L1再将image返回给客户端,同时也在本地缓存一份。
后续客户端再次访问image时,CDN L1本地存在缓存则直接返回给客户端,不需要去请求CDN L2和源站。
网友评论