大型网站架构不得不考虑的10个问题
来源:asp之家 时间:2010-03-13 15:21:00
这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基于大家众所周知的原因,我们就不谈新闻类和一些依靠HTML静态化就可以实现的架构了,我们以高负载高数据交换高数据流动性的网站为例,比如海内,开心网等类似的web2.0系列架构。我们这里不讨论是PHP还是JSP或者.NET环境,我们从架构的方面去看问题,实现语言方面并不是问题,语言的优势在于实现而不是好坏,不论你选择任何语言,架构都是必须要面对的。
这里讨论一下大型网站需要注意和考虑的问题
1、海量数据的处理
众所周知,对于一些相对小的站点来说,数据量并不是很大,select和update就可以解决我们面对的问题,本身负载量不是很大,最多再加几个索引就可以搞定。对于大型网站,每天的数据量可能就上百万,如果一个设计不好的多对多关系,在前期是没有任何问题的,但是随着用户的增长,数据量会是几何级的增长的。在这个时候我们对于一个表的select和update的时候(还不说多表联合查询)的成本的非常高的。
2、数据并发的处理
在一些时候,2.0的CTO都有个尚方宝剑,就是缓存。对于缓存,在高并发高处理的时候也是个大问题。在整个应用程序下,缓存是全局共享的,然而在我们进行修改的时候就,如果两个或者多个请求同时对缓存有更新的要求的情况下,应用程序会直接的死掉。这个时候,就需要一个好的数据并发处理策略以及缓存策略。
另外,就是数据库的死锁问题,也许平时我们感觉不到,死锁在高并发的情况下的出现的概率是非常高的,磁盘缓存就是一个大问题。
3、文件存贮的问题
对于一些支持文件上传的2.0的站点,在庆幸硬盘容量越来越大的时候我们更多的应该考虑的是文件应该如何被存储并且被有效的索引。常见的方案是对文件按照日期和类型进行存贮。但是当文件量是海量的数据的情况下,如果一块硬盘存贮了500个G的琐碎文件,那么维护的时候和使用的时候磁盘的Io就是一个巨大的问题,哪怕你的带宽足够,但是你的磁盘也未必响应过来。如果这个时候还涉及上传,磁盘很容易就over了。
也许用raid和专用存贮服务器能解决眼下的问题,但是还有个问题就是各地的访问问题,也许我们的服务器在北京,可能在云南或者新疆的访问速度如何解决?如果做分布式,那么我们的文件索引以及架构该如何规划。
所以我们不得不承认,文件存贮是个很不容易的问题
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
金山宣布剑网3进入盈利期 收费服务器达62组
三要素决定你网站是否会成功
Win2003下IIS6服务器设置排错解答
Hishop力求打造专业的货源分销系统
Google Adsense 广告应避免18条错
浅谈DNS服务器管理与配置技巧
Google AdSense 付款详解
如何在linux环境下轻松搭建CVS服务器
五款主流ARP防火墙评测 拦截性能大比拼!
![](https://img.aspxhome.com/file/UploadPic/20102/201025121052470s.jpg)
站长必备工具谷歌网站管理员工具详细介绍
教你巧用UCenter Home后台上传图片设置功能
![](https://img.aspxhome.com/file/UploadPic/20092/200921919188759s.jpg)
站长购买美国主机选择10个基本参考 别给空间商忽悠
新手教程:用.htaccess实现二级域名功能
简明教程:Google AdSense 投放政策
在淘宝搜索排前位之密招
Zotonic:下一个Drupal?
![](https://img.aspxhome.com/file/UploadPic/20115/17/screen_shot_2010_09_07_at_22_36_42-33s.png)
批量转换全角数字非法
![](https://img.aspxhome.com/file/UploadPic/20088/31/2008831203952932s.jpg)