如何高效地管理网站静态资源

阅读更多
背景
随着互联网开发和迭代速度越来越快,网站也变得越来越庞大,存在大量静态资源,我们原有管理静态资源的方式变得越来越不适用,就如同封面图一样,静态资源之间的关系错综复杂,给工程师带来了很多麻烦:

人工管理依赖的噩梦,工程师需要频繁管理和维护每个页面需要的 JS & CSS 文件,包括静态资源之间的依赖关系以及加载顺序等。
性能优化成本高且不可持续性,为了提高网站性能,工程师总是在忙于优化页面静态资源的加载,包括动态加载静态资源、按需加载静态资源和修改静态资源合并策略等,但是过了一段时间性能又降下来了,又需要周而复始的重复。
静态资源差异化的挑战,PC和无线的适配,不同的网络和终端需要适配相应的静态资源;当网站需要支持国际化的时候,需要对不同的国家进行差异化处理,返回不同的静态资源,这些需求对原有的静态资源管理方式提出巨大挑战。
缺少快速迭代和试验新功能的有效支持,从开发到上线流程繁琐,导致项目迭代周期长
每天工程师都会提交大量的 new feature/bug fixes,每次项目发布和迭代都面临着以上的问题,是否可以有一套系统帮助我们管理/调度静态资源来减少人工管理静态资源成本和风险,来达到更快、更可靠、低成本的自动化项目交付。在实际项目开发中,我们进行了大量探索和试验,实现了一套 “静态资源管理系统”,对静态资源进行全流程的管理和调度:

帮助工程师管理静态资源间的依赖以及资源的加载
管理静态资源版本更新与缓存,自动处理CDN
自动生成最优的静态资源合并策略,实现网站自适应优化
实现静态资源的分级发布,快速迭代,轻松回滚
根据国际化和终端的差异,送达不同的资源给不同的用户
下面本文将会介绍我们是如何通过静态资源系统来高效管理静态资源的。

你可能感兴趣的:(互联网,XHTML)