`
xiangxingchina
  • 浏览: 506312 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解密大中型网站架构设计来自威鹏网信息化解决方案专家。

阅读更多

 

      相信很多IT人士都有过搭建自己主页的经验,10多年前的个人主页都非常简单,很多由Frontpage构建,多属于静态HTML页面,最多加一点特效而已。不过10年间,技术的进步是惊人的。现在,一个网站绝不可能仅仅由几个HTML页面构成。我们随便举一个例子,国内图片网站yupoo.com,在 chinarank排名1000左右,而Alexa排名则为5000左右,这个网站不算大,就是这样一个中型站点,拥有超过60台服务器,架构中涉及的Web服务器就包括了Lighttpd、Apache和 nginx。Yupoo的流量不算大,就已经拥有了60台服务器,事实上,排名前几位的网站,都拥有成千上万台服务器,如何协调这些服务器之间的工作负载,如何统一指挥调度,如何维护这些服务器硬件都是棘手的挑战。

负载均衡:

        负载均衡是所有大中型网站必备的部署。显然,大型网站每天上千万独立IP的访问量,一个Web服务器根本承担不了,网站后台必需有多台服务器共同工作,因此各种负载均衡技术就应运而生了。

        较早的负载均衡是DNS负载均衡。原理很简单,只要在域名解析的时候,将多个地址配置成同一个域名,负载均衡就完成了。不同用户点击同一个域名的时候,实际上只解析给用户一个地址,这样用户实际上访问的是不同的Web服务器,就减轻了每个服务器的负担。这个DNS负载均衡方法,一般而言是随机抽取地址。DNS负载均衡早期被广泛使用,优点是简单易用,但是DNS负载均衡还是有一些问题存在。如果某一台服务器发生了故障,而DNS的下一个刷新周期又没到,这样就可能导致某些用户无法访问站点的情况发生。而另一个缺点在于DNS负载均衡随机性太强,比如一段时间内众多访问都被指向同一个地址,而另外的地址却闲置,就造成了局部繁忙的不良现象。而且有时某处服务器正在运行其他应用而处于繁忙状态,DNS负载均衡也无从得知,而依旧平均的解析域名。

        稍微复杂一点的负载均衡,是反向代理,当外部有请求到代理服务器,代理服务器再将该请求均匀的转发到内网的服务器上。这种方式被广泛采用,比如说上面提到的又拍网yupoo.com,就采用了nginx作为反向代理。此外,现在还可以购买专业的硬件设备,比如 Plentyoffish.com(全球最大的婚介网站)就采用了网捷网络公司的Web交换器ServerIron作为硬件负载均衡,ServerIron 能够有效地处理 16,000,000个并发连接,并且可以改善服务器负载均衡和缓冲转换,像ServerIron这类的硬件产品并非只有网捷一家提供,由于大型网站预算充裕,因此也可以选择一些其他的硬件设备来做负载均衡。当然了,我们也别忽略了最基本的软件负载均衡——Windows Server就带有这样的功能。

        负载均衡还有一个极为简单的方法,就是建立镜像站点。比如华军软件或者天空软件,都直接采用了镜像站点。这个方式很直接,省去了很多麻烦。以华军软件园为例,登陆华军软件园的时候,我们将有多种选择,可选电信、网通等网络;而下载某一软件的时候,为了使用户得到更快的速度,天空和华军在中国各地都安排了服务器,可以提供距离最近的下载服务。不过,也有一些麻烦,就是每一次选择都是人工手动选择。总之,这一系列负载均衡方法,都得以让大型网站的负载均匀,不会有哪个服务器有太大的压力。

CDN:

        CDN( Content Delivery Network),内容分发网络也是大型网站必备的部署之一。CDN的原理不难理解,就是将网页内容存放到离用户更近的缓存服务器上,减少路由,从而加快远距离的访问速度。比如说,你随意登陆一个国外小站,速度可能很慢。因为国外网站到国内的最终客户端的路径冗长,但是如果你登陆部署了CDN的网站,比如 Plentyoffish.com,你会发现速度非常快,跟国内的网站访问速度差异已经无法从感知上判断。依照Cache存放的位置不同,CDN也有一些类别,不同的网站会根据具体需求,有不同的选择。CDN通常是由独立的CDN商提供的。举一个例子,就是网易,我的查询时间是2008年2月28日,我们发现,同一个域名下的有很多个IP地址,这就说明了首页CDN的部署。

C:\>nslookup www.163.com

Server: ns.lnpta.net.cn

Address: 202.96.64.68

Non-authoritative answer:

Name: www.cache.split.netease.com

Addresses: 202.108.9.37, 202.108.9.38, 202.108.9.39, 202.108.9.51

202.108.9.52, 202.108.9.31, 202.108.9.32, 202.108.9.33, 202.108.9.34

202.108.9.36

Aliases: www.163.com

        而我们如果查询一个简单的个人网站,则不可能有CDN;另外,如果有兴趣,我们也可以仔细察看一个网站多个二级域名的CDN情况。

平台设计:

        大型网站一般都有着非常复杂的与用户交互的内容,必须大量调用数据库,因此一个完善的数据库设计对于大型网站非常重要。例如上面提到的 Plentyoffish.com,这个站其实是个人网站,但流量大的惊人,该网站有一个主要的数据库,两个搜索数据库,早些时候,plentyoffish.com的数据库设计问题频频,经常到数据库堵塞,所以站长花费时间最多的地方就是数据库优化。数据库优化没有什么特别的捷径,其实很少有一次成型的完美数据库构建,只能是按照特定的需要来设计数据库,如有不足再去着手改进。不过大型网站还是有一些共性,比如说图片存储单独使用图片数据库,尽量使用静态页面来减少数据库调用等等。

        还有很多大型网站,都有着非常深厚的技术实力,可以开发属于自己的平台。比如说谷歌,Google.com就有着自己独特的平台,主要包括 GFS、MapReduce和 BigTable。因为海量数据存储,所以常规的数据库调用查询是非常恐怖的,每次查询都将调用百亿个页面,成千上万个并发检索足以使得谷歌系统崩溃,因此Google File System将大量页面以独特的方法压缩之后再提供检索;整个系统一共包括超过两百个集群,再由MapReduce来协同作业。不仅仅谷歌,比如百度、中搜等等网站也都有自己研发的独特的平台。

硬件配置:

        大型网站的硬件配置一定就好吗?答案是否定的。比如说全球最大的网站谷歌,google.com的整个架构的基础是几十万台普通的PC级别服务器。谷歌一些服务器的细节为商业机密,但是根据谷歌已经披露的资料显示,在2006年之前谷歌拥有45万台服务器,这些服务器都是非常普通的PC级服务器,甚至硬盘接口都还是有些过时的IDE接口。这也是谷歌的独特架构决定的,而对比谷歌,维基百科则拥有非常强势的服务器,全部为SCSI硬盘,而且主要的主机中都有多达6块硬盘,超过16GB内存。这比较容易理解,因为谷歌在全球拥有很多个数据中心,员工数量众多,完全有能力管理数以万计服务器的运行,而维基百科则为非营利机构,主要依靠捐赠生存,员工数量非常稀少,因此必须配备强势的服务器。其实,每个网站都应该根据自己独特的情况来配置硬件,目前 1TB SATA硬盘已经步入了量产阶段,可是2年以前1TB的硬盘只能通过RAID 0来实现,可见硬件的更新速度非常惊人,所以即便预算充裕,在配置服务器的时候也应该多考虑实际用途,而不一定要拥有最好的配置。

总结:

        以上只是大型网站的概括总结,其实每个网站都有自己独特的一面,所以以上的每一条规则都未必是死规定。比如说着重沟通的Twitter.com,本质就是一个异步聊天室,因此静态页面就不见的有必要。总之,网站架构没有死定律,只要合适网站的,就是好的架构。
来自威鹏网信息化解决方案专家。


本文来自:http://www.vpeng.net 
原文链接:http://www.vpeng.net/docs/research/website/2010/1230/3814.html

分享到:
评论

相关推荐

    威鹏触摸屏浏览器绿色免费版(VPCmp.Basic V1.3.10)

    【主要用途】 触摸屏一体机配套软件、web查询系统浏览器、 公共场所免费上网基础软件 【主要特性】 ◆ 完美配合触摸屏一体机 完美配合触摸屏一体机,也可以是服务器或普通PC电脑,安装WinNT,Win2000,WinXP,...

    黄色粘球菌介导下水稻根系浸提液的化感效应研究

    黄色粘球菌介导下水稻根系浸提液的化感效应研究,林威鹏,曾小妹,为深入揭示化感水稻根系分泌物与根际特异微生物的相互关系,本研究以强化感水稻PI312777(PI)、非化感水稻Lemont(LE)以及化感水稻PI3

    阿魏酸诱导下黄色粘球菌的生长变化及其差异蛋白质组学研究

    阿魏酸诱导下黄色粘球菌的生长变化及其差异蛋白质组学研究,林威鹏,方长旬,粘球菌为革兰氏阴性细菌,其在强化感水稻PI312777根际土壤中数量丰富,且显著高于非化感水稻根际土壤中的含量,暗示粘球菌在水稻化�

    硅和pH对番茄青枯病的抗性作用

    硅和pH对番茄青枯病的抗性作用,林威鹏,范雪滢,大量研究表明,施硅能够显著降低番茄青枯病的发病率,但其具体机理目前仍为完全清楚。我们前期研究发现,施硅能够提高土壤pH值,�

    剑儿快递查询软件 v4.3.2.rar

    联邮速递 龙邦快递 华宇物流 亚风快递 中外运 信丰物流 中邮物流 中铁快递 越丰物流 联昊通快递 新邦物流 一邦速递 中铁物流 优速物流 元智捷诚 凤凰快递 京广快递 USE(宇翔) 驱达国际快递 安信达快递 飞康达快递...

    甲基对硫磷对小鼠黄体细胞的细胞间隙连接通讯和孕酮分泌的影响

    甲基对硫磷对小鼠黄体细胞的细胞间隙连接通讯和孕酮分泌的影响,古威鹏,夏莹莹,目的 探索甲基对硫磷(methyl parathion,MP)对小鼠黄体细胞的细胞间隙连接通讯(gap junctional intercellular communication,...

    硅对不同番茄材料的青枯病抗性效果研究

    硅对不同番茄材料的青枯病抗性效果研究,范雪滢,林威鹏,硅能提高作物在非生物和生物胁迫下的抗性。本实验以抗性不同的7种番茄材料HYT、M82、XY79-1、S52、S189、H7996和1269为实验材料,在水培条�

Global site tag (gtag.js) - Google Analytics