亲爱的朋友,您好!欢迎您光临百特教育网! 设为首页 | 收藏本站 | 联系我们

喜讯:我校弱电工程师、5A智能楼宇工程师、网络安全工程师精品短训班现已开始热招,欢迎广大有志者前来参观学习!

  您当前的位置在:网站首页--网站架构

大型互联网网站架构心得之一

2009-7-23 17:27:27
 

我们知道,对于一个大型网站来说,可伸缩性是非常重要的,怎么样在纵向和横向有良好的可伸缩性,就需要在做架构设计的时候考虑到一个分的原则,我想在多个方面说一下怎么分:

首先是横向的分:
1. 大的网站化解为多个小网站:当我们一个网站有多个功能的时候,可以考虑把这个网站拆分成几个小模块,每一个模块可以是一个网站,这样的话我们到时候就可以很灵活地去把这些网站部署到不同的服务器上。
2. 静态动态分离:静态文件和动态文件最好分离开成2个网站,我们知道静态网站和动态网站对服务器来说压力的侧重不同,前者可能重IO后者重CPU,那么我们在选择硬件的时候也可以有侧重,而且静态和动态内容的缓存策略也不一样。典型的应用,我们一般会有独立的文件或图片服务器。而且,使用不用的域名还可以提高浏览器并行加载的能力。
3. 按照功能来分:比如有一个模块是负责上传的,上传操作很消耗时间,如果和其它应用混在一起的话很可能,一点点访问就会使服务器瘫痪,这种特殊的模块应该分开。安全的不安全的也要分开,还需要考虑到以后SSL的购买。
4. 我们不一定要全部用自己的服务器,搜索、报表可以依靠别人的服务,比如google的搜索和报表服务,自己做的不一定比得过别人,服务器带宽都省了。


其次是纵向的分:
1. 文件也相当于数据库,IO的流量可能比数据库还大,这也算是纵向级别的访问,上传的文件图片一定要和WEB服务器分开。当然,数据库和网站都放在一个服务器上的很少了,这是最基本的。
2. 对于涉及到数据库访问的动态程序来说,我们可以使用一个中间层(所谓的应用层或逻辑层)来访问数据库(部署在独立的服务器上),最大的好处就是缓存和灵活性。缓存的内存占用比较大,我们要把它和网站进程分开,而且这样做我们可以很方便的去改变一些数据访问的策略,即使到时候数据库有分布的话在这里可以做一个调配工作,这样灵活性就很大了。还有好处是中间层可以做电线网通桥梁,可能网通访问双线再访问电信会比网通直接访问电信服务器快。


有人说我不分,我可以做负载均衡,对,是可以的,但是如果分的话,同样的10台机器肯定比不分10台机器可以承受更多的访问量,而且对硬件的需求可能不会很高,因为知道需要哪个硬件特别好。争取让每一个服务期都不空闲,又都不是太忙,合理进行组合调整和扩充,这样的系统伸缩性就高了,能根据访问量来调整的前提就是之前有考虑到分,分的好处是灵活性、伸缩性、隔离性以及安全性。

对服务器来说,我们有几点是要长期观察的,任何一点都可能是瓶颈:
1. CPU:动态文件的解析需要比较多的CPU,CPU出现瓶颈就要看是不是哪个功能过长时间占用线程,如果是就分出去。或者就是每一个请求处理时间不长,但是访问量很高,那么就加服务器。CPU是好东西,不能让他干等,不做事情。
2. 内存:缓存从IIS进程独立出去,一般对WEB服务器来说内存不够的情况不是很多。内存比磁盘快,要合理利用。
3. 磁盘IO:用性能监视器找到哪些文件IO特别大,找到了就分到独立的一组文件服务器上去,或者直接做CDN。磁盘慢,大规模读取数据的应用靠缓存,大规模写入数据的应用可以靠队列来降低突发的并发。
4. 网络:我们知道,网络的通讯是比较慢的,比磁盘还慢,如果是做分布式缓存,分布式计算的话,要考虑到物理服务器之间网络通讯的时间,当然,在流量大了以后,这可以提高系统的接纳能力一个等级。静态内容可以借助CSD分担一部分,在做服务器假设的时候还要考虑中国特色的电信网通情况以及防火墙。

对SQL SERVER数据库服务器来说[UPDATE]:
其实还是水平分割和纵向分割,一个二维表,水平分割就是横过来切一刀,纵向分割就是竖直切一刀:
1、纵向分割就是,我们不同的应用可以分到不同的DB中,不同的实例中,或者说把某个拥有很多字段的表拆分成小表。
2、横向分割就是,某些应用可能不负载,比如用户注册,但是用户表会非常大,可以把大表分开。可以采用表分区,数据存储在不同文件上,然后再部署到独立物理服务器增加IO吞吐以改善读写性能,土一点的做法就是自己定期把老的数据存档。表分区的另外一个优势可以增加数据查询速度,因为我们的页索引可以有多层了,就像一个文件夹中的文件不要太多,多分几层文件夹一样。
3、还可以通过数据库镜像、复制订阅、事物日志,把读写分开到不同的镜像物理数据库上,一般来说够用,如果还不行可以用硬件来实现数据库的负载均衡。当然,对于BI,我们可能还会有数据仓库。

上一篇浅析大型网站的架构

下一篇网站架构方向

· 大学毕业生被人冒名顶替挤掉工作
· 北京上半年查处42名县处级以上干部
· 香港出现第二宗涉及甲型流感死亡个案
· 女子闯入马英九办公室半小时未被发现
· 教育部称高校出现被就业现象属极个别情况
· 各大型网站架构分析收集
· 中石化原董事长陈同海被判死缓放弃上诉
· ASP.NET多频道网站架构实现方法
· 网站架构之底层页面的架构
· 门户网站架构
· 理解REST软件架构
· 设计高性能网站架构
· 美国老太因女儿欲自杀报警 母女均被警察击...
· 浅析大型网站的架构
· 贵州矿工被困25天获救奇迹:靠人力挖通生命...
· 大型互联网网站架构心得之一
· 上海闵行区房管局称倒楼事件部分报道不实
· 网站架构方向

友情链接

智联招聘   中国华为   思科中国   中华英才网   微软中国   前程无忧   中国安全网   中国千家网   中国安防网   智能建筑资讯网   中国人事部653工程   中国人才网   信息化人才交流中心   中国建设部   中国信产部   武汉职业技术学院  

copyright 百特教育,all rights reserved
首页 学校简介 特色教学 学历教育 证书介绍 课程简介 荣誉资质 就业广场 报名咨询 招贤纳士 联系我们
5A智能楼宇工程师培训 工程设计管理 网络安全工程师培训 网站架构 弱电工程师培训 NCEE电气智能工程师 安防消防工程师培训 5A工程师
学校地址:湖北省武汉市武昌洪山区关山一路武汉职业技术学院 学校邮箱:bt_wh@163.com 办公室电话: 027-87767870/87767872
  鄂ICP备08004255号

在线客服
在线客服系统
在线客服
在线客服系统