静态资源CDN

静态资源CDN

静态资源(static resources) : js , css , img 等非服务器动态运行生成的文件

在一般的网站中,静态资源使用频率高,流量占用大。对于有追求(访问量稍大)的网站,都会把静态资源放置到CDN服务器,不占用业务服务器的网络带宽,从而达到更好的用户体验。那大公司的静态资源怎么发布呢?

在不修改线上静态资源的情况下,发布新的静态资源。即CDN上的静态资源必须共存多个静态版本

  • 先部署页面,再部署资源。 结果:新的页面访问了一个旧的资源,除非手动刷新,否则在资源缓存过期之前,页面会一直执行错误。
  • 先部署资源,再部署页面。 结果:有本地缓存的正常;没有本地缓存的,旧的页面加载新的资源,导致页面执行错误,当页面部署完成,访问才恢复正常。

    1. 精确的版本控制–文件版本号

更新静态资源,只更改修改的部分。不能修改未更新的资源的引用。

解决方案:根据文件的内容算出一个值,如果文件内容不改变,那么这个值就不会改变。

如果我们把静态资源的实际访问域名设置为 res.company.com。

代码提交到产品环境 git 仓库。(使用测试和产品两个仓库,是为了测试和产品环境完全隔离)

提供访问服务(nginx 等),该域名不提供文件缓存服务,仅仅作为 CDN 的回源地址。所以代码

中一定不要写源站的信息。
4. 在 CDN 服务商提供的空间中,将回源地址配置为源站(origin.res.company.com)。

如果不存在文件则回源到源站,获取文件。(有些 CDN 产品提供文件存储功能,异地备份)

结论:我们会按照目录来划分业务的静态资源。

res.company.com域名下面会共存多个业务。A业务,B业务都是使用同样的发布方案。

多个团队可以使用同一个静态资源仓库,res.git,然后按照目录来区分业务。web 服务器直接指

向到 res/即可。静态资源更新只需要 pull 代码即可,而不需求做其他改动。

同步源文件到CDN能确保实现非覆盖式发布。

大公司开发部署前端代码

负载均衡

原文链接:https://blog.csdn.net/m_review/article/details/76223832?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165277103516782395345643%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165277103516782395345643&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-15-76223832-null-null.nonecase&utm_term=%E8%B5%84%E6%BA%90

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
文明发言,共建和谐米科社区
提交
头像

昵称

取消
昵称表情图片