delphiqin
2012-05-10 23:57:20 +08:00
我对此也是一知半解,大概说一下我对CDN的了解:
你在使用CDN之前,需要先将你的域名A设置成CNAME解析,指向CDN提供商给你的域名B
然后当一个用户访问你的网站时,他会先向你的域名A的DNS发起域名解析请求,然后因为你的域名设置的是CNAME解析,所以会将CDN的域名B返回给用户,于是用户再向域名B的DNS发起解析请求,CDN提供商会将域名B的DNS指向全局负载均衡DNS,此全局负载均衡DNS会根据用户的地理位置(由IP得到)将域名B解析为离用户最近节点N的IP并返回给客户。至此,域名解析完成,用户拿到了CDN节点N的IP,之后,用户向此节点发送请求,获取内容。
如果节点N上没有用户要请求的内容,则节点N向你的服务器(这个需要事先在CDN提供商的后台设置)发起此内容的请求,你的服务器返回后,节点N缓存并返回给用户。
以上说的是内容缓存在CDN提供商的节点上的情况。如果你希望使用自己的服务器做内容缓存,那将CDN提供商的节点换成你的服务器即可。