2021/02/25 - CDN的实现原理
lxinr opened this issue · 0 comments
lxinr commented
内容分发网络(Content Delivery Network,简称CDN)
- 用户访问CDN时,会先向本地的DNS发起域名解析请求
- 本地DNS检查缓存中是否存在该域名的IP记录,如果有,则直接返回PI,否则继续向授权DNS查询
- 如阿里云则会发送至阿里云DNS调度系统,并为请求分配最佳节点IP地址
- 本地DNS获取授权DNS返回的解析IP地址
- 用户获取到IP地址
- 用户向获取的IP地址发起对该资源的访问请求
- 如果该IP地址对应的节点已缓存该资源,则会将数据直接返回给用户
- 如果该IP地址对应的节点未缓存该资源,则节点向源站发起对该资源的请求。获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点
总结:
- CDN的加速资源是跟域名绑定的
- 通过域名访问资源,首先是通过DNS分查找离用户最近的CDN节点(边缘服务器)的IP
- 通过IP访问实际资源时,如果CDN上并没有缓存资源,则会到源站请求资源,并缓存到CDN节点上,这样,用户下一次访问时,该CDN节点就会有对应资源的缓存了