• CDN=Content Delivery Network,即内容分发网络
  • CDN解决的问题就是对JS文件,css文件,html文件,图片文件等其他文件的加速访问
  • CDN的核心是就近访问
  • 就近访问时通过DNS解析来实现的

    1. 工作流程图

点击查看【processon】

2. CDN节点一致性问题

  • 假设源的 abc.js 更新了, 镜像里的 abc.js 没更新数据不一致怎么办?

方案1: 主动淘汰镜像

  • 当源更新的时候, 主动进行淘汰镜像中的 abc.js 操作

缺点:

  • 源需要维护镜像的地址, 依赖了镜像, 后期扩展很麻烦

方案2: 设置缓存过期时间

  • 给镜像中的缓存设计过期时间, 等待缓存的自动过期

缺点:

  • 可能导致业务功能的不正常

方案3: 静态文件设置版本号

  • 给静态文件设置版本号, 当文件更新的时候, 修改版本号
  • 例如: abc_v1.2.3.js
  • 此为行业最佳实践