大型网站架构不得不考虑的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和专用存贮服务器能解决眼下的问题,但是还有个问题就是各地的访问问题,也许我们的服务器在北京,可能在云南或者新疆的访问速度如何解决?如果做分布式,那么我们的文件索引以及架构该如何规划。
所以我们不得不承认,文件存贮是个很不容易的问题
猜你喜欢
- 你会发现,由于oracle 10g 建立了“perl5lib”的环境变量路径,从而导致xampp启动apache的时候报错: [Thu Oc
- 接上一期,这里主要考虑 CSS 注入的方式。CSS 注入主要为背景图注入和针对 Exploer 的 CSS Expression 注入。考虑
- 每一个“网络草根”,至少有10种方法,分别可以达到月赚3000。是的,月赚3000并没有什么,我现在也基本用不着这些方法,但对于某些有志之士
- 从事互联网多年,积累了些许“概念”,现一一罗列,供大家参考:平铺和翻滚: 网站获得流量有两种方法,一是平铺,二是翻滚。平铺又可分为搜索引擎平
- 什么是虚拟软件:虚拟软件是一个可以使你在一台机器上同时运行二个或更多Windows、LINUX等系统。它可以模拟一个标准PC环境。这个环境和
- 一直以来都有建立自己的网站的想法,偶然看到gofreeserve提供免费的支持php和MySQL的空间服务。便想到自己经常浏览的一些知名博客
- 一、概述Zabbix 是一个企业级的分布式开源监控方案。能够监控各种网络参数以及服务器健康性和完整性。支持灵活的通知机制,提供出色的报告和数
- 7月18日消息,Discuz!云平台旗下的社区QQ群功最新推出了两个新功能:默认长版显示和绑定群提醒功能。这是Discuz! 云平台自201
- Web服务器存在的主要漏洞包括物理路径泄露,CGI源代码泄露,目录遍历,执行任意命令,缓冲区溢出,拒绝服务,SQL注入,条件竞争和跨站脚本执
- Adsense不扣量,的确是最值得选择的,也是最多站长选择的广告联盟。很多站长问我,如何提高adsence收入?我这里有4种经过证实行之有效
- 你的计算机上是否存在有至关重要的数据,并且不希望它们落入恶人之手呢?当然,它们完全有这种可能 。而且,近些年来,服务器遭受的风险也比以前更大
- 做SEO的人都知道链接在SEO中的重要性,我原来也写过关于正确使用链接认识链接的一些文章,但现在仍然还是存在者各式各样的垃圾链接形式。今天这
- 以部署https://gitee.com/tengge1/ShadowEditor 这个项目为例一.安装jdk1.下载jdk 以jdk-8u
- 百度Hi的产品还可以,不过确实如白鸦所言,“IM这个领域已经相对成熟,很难真正的创新”。百度的产品,应该说在中文互联网中一直保持很高水平,其
- 以下是提高IIS 5.0网站服务器的执行效率的八种方法:1. 启用HTTP的持续作用可以改善15~20%的执行效率。2. 不启用记录可以改善
- Sendmail是在Unix/Linux环境下十分流行媛的邮件发送服务程序。但是其配置十分繁琐,问题也很多。本文解决了不能发信的一个问题。问
- 代码如下【<a href="javascript:" onclick='window.
- Tomcat服务器是一个免费的开放源代码的Web应用服务器。因为Tomcat技术先进、性能稳定且免费,所以深受Java爱好者的喜爱并得到了部
- Google刚刚发布了一款名为Page Speed的Firefox/Firebug扩展。这是一款能帮助用户改善网站性能的工具。在运行它之后,
- 1.资源文件Matlab安装包系统:Ubuntu18.04Matlab版本:2020b Matlab99R2020b_Linux_64.is