- CDN=Content Delivery Network,即内容分发网络
- CDN解决的问题就是对JS文件,css文件,html文件,图片文件等其他文件的加速访问
- CDN的核心是就近访问
- 就近访问时通过DNS解析来实现的
1. 工作流程图
2. CDN节点一致性问题
- 假设源的
abc.js
更新了, 镜像里的abc.js
没更新数据不一致怎么办?
方案1: 主动淘汰镜像
- 当源更新的时候, 主动进行淘汰镜像中的
abc.js
操作
缺点:
- 源需要维护镜像的地址, 依赖了镜像, 后期扩展很麻烦
方案2: 设置缓存过期时间
- 给镜像中的缓存设计过期时间, 等待缓存的自动过期
缺点:
- 可能导致业务功能的不正常
方案3: 静态文件设置版本号
- 给静态文件设置版本号, 当文件更新的时候, 修改版本号
- 例如:
abc_v1.2.3.js
- 此为行业最佳实践