目前我们采用的是组件分离的办法,图片当然存储到硬盘中,但是如果网站的图片量比较大的话,最好是和WEB服务器是分离的。发点笔记和总结:
=============
解决方案
1、对网站图片资源进行组件分离。
因为网站将有大量的图片展示,会增加对服务器的请示数,所以设计时就把图片服务器与WEB服务器分离。可以采用二级域名进行如:http://images.ouyea.cn/UpImgs/2010/05/06/.....jpg
2、对网站CSS、JS、广告进行组件分离。
因为网站使用二级域名来区分子站,这样资源文件如果还采用相对路径的话,每个二级域名的分站都分重新加载这些相同的资源文件。所以资源文件也采用独立的组件进行分离。如:http://webres.ouyea.cn/common/style.css
3、对网站相同数据采用组件分离
==============关键组件分离的一些知识==============
简介
Web组件: 指Web服务器提供的所有基于URL访问的资源,保存动态内容、图片、脚本、CSS等。
分离目的: 采用针对性的方法,使得各种Web组件能够充分有效地利用服务器资源,达到符合各自实际情况的吞吐率最大化。
如何分离
(1)将Web组件分别独立部署,可位于不同的物理服务器或同一个物理服务器不同逻辑单元中,同时将不同的域名指向不同的Web组件服务器。不必购买新的主域名,只需使用站点现有主域名的二级域名。
以下是新浪网上的组件分离策略(采用二级域名重写URL)
<!-- optimization begin -->
<script type="text/javascript" src="http://news.sina.com.cn/js/213/20091202/34/head.js"></script>
<script type="text/javascript" src="http://news.sina.com.cn/pfpnews/js/libweb.js"></script>
<!-- optimization end -->
对于站点中多个二级域名需要使用cookie时,就需要为一些比较独立的组件启用新的顶级域名,这样来自原有主站点的cookie不会再主动上报。
浏览器的并发数
浏览器的最大并发数对于同一个域名下的组件是有限制的,用不同的域名对Web组件进行分离后,可以提高浏览器下载Web组件的并发数。
对于少量图片数据使用二进制存储这是没什么问题的!
如果网站有比较多的图片文件的话建议采用直接存在在硬盘中啦,这样子一是可以降低数据库的IO操作,其次也好使用服务器作图片缓存等。便于用于网站图片加速..