大型高并发高流量网站架构

上传人:第*** 文档编号:32965112 上传时间:2018-02-13 格式:DOC 页数:15 大小:183.50KB
返回 下载 相关 举报
大型高并发高流量网站架构_第1页
第1页 / 共15页
大型高并发高流量网站架构_第2页
第2页 / 共15页
大型高并发高流量网站架构_第3页
第3页 / 共15页
大型高并发高流量网站架构_第4页
第4页 / 共15页
大型高并发高流量网站架构_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《大型高并发高流量网站架构》由会员分享,可在线阅读,更多相关《大型高并发高流量网站架构(15页珍藏版)》请在金锄头文库上搜索。

1、北京聚贤技术服务团队,运营憨豆笑话网 。开心快乐每一天。北京聚贤技术服务团队,运营憨豆笑话网 。开心快乐每一天。大型高并发高流量网站架构Web2.0 的兴起,掀起了互联网新一轮的网络创业大潮。以用户为导向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一大批新生的网站,也极大的方便了上网的人们。但 Web2.0 以用户为导向的理念,使得新生的网站有了新的特点 高并发,高流量,数据量大,逻辑复杂等,对网站建设也提出了新的要求。 本文围绕高并发高流量的网站架构设计问题,主要研究讨论了以下内容: 首先在整个网络的高度讨论了使用镜像网站,CDN 内容分发网络等技术对负载均衡带来的便利及各自的

2、优缺点比较。然后在局域网层次对第四层交换技术,包括硬件解决方案F5 和软件解决方案 LVS,进行了简单的讨论。接下来在单服务器层次,本文着重讨论了单台服务器的 Socket 优化,硬盘级缓存技术,内存级缓存技术,CPU 与 IO 平衡技术(即以运算为主的程序与以数据读写为主的程序搭配部署) ,读写分离技术等。在应用层,本文介绍了一些大型网站常用的技术,以及选择使用该技术的理由。最后,在架构的高度讨论了网站扩容,容错等问题。 本文以理论与实践相结合的形式,结合作者实际工作中得到的经验,具有较广泛的适用性。 1 引 言 1.1 互联网的发展 最近十年间,互联网已经从一个单纯的用于科研的,用来传递静

3、态文档的美国内部网络,发展成了一个应用于各行各业的,传送着海量多媒体及动态信息的全球网络。从规模上看,互联网在主机数、带宽、上网人数等方面几乎一直保持着指数增长的趋势,2006 年7 月,互联网上共有主机 439,286,364 台,WWW 站点数量达到 96,854,877 个 1 。全球上网人口在 2004 年达到 7 亿 2900 万 2 ,中国的上网人数在 2006 年 12 月达到了约 1 亿 3700 万3 。另一方面,互联网所传递的内容也发生了巨大的变化,早期互联网以静态、文本的公共信息为主要内容,而目前的互联网则传递着大量的动态、多媒体及人性化的信息,人们不仅可以通过互联网阅读

4、到动态生成的信息,而且可以通过它使用电子商务、即时通信、网上游戏等交互性很强的服务。因此,可以说互联网已经不再仅仅是一个信息共享网络,而已经成为了一个无所不在的交互式服务的平台。 1.2 互联网网站建设的新趋势 互联网不断扩大的规模,日益增长的用户群,以及 web2.04的兴起,对互联网网站建设提出了新的要求: 高性能和高可扩展性。2000 年 5 月,访问量排名世界第一(统计数据来源5 )的Yahoo 6声称其日页浏览数达到 6 亿 2500 万,即每秒约 30,000 次 HTTP 请求(按每个页面浏览平均产生 4 次请求计算) 。这样大规模的访问量对服务的性能提出了非常高的要求。更为重要

5、的是,互联网受众的广泛性,使得成功的互联网服务的访问量增长潜力和速度非常大,因此服务系统必须具有非常好的可扩展性,以应付将来可能的服务增长。 支持高度并发的访问。高度并发的访问对服务的存储与并发能力提出了很高的要求,北京聚贤技术服务团队,运营憨豆笑话网 。开心快乐每一天。北京聚贤技术服务团队,运营憨豆笑话网 。开心快乐每一天。当前主流的超标量和超流水线处理器能处理的并发请求数是有限的,因为随着并发数的上升,进程调度的开销会很快上升。互联网广域网的本质决定了其访问的延迟时间较长,因此一个请求完成时间也较长,按从请求产生到页面下载完成 3 秒计算, Yahoo 在 2000 年 5 月时平均有 9

6、0,000 个并发请求。而且对于较复杂的服务,服务器往往要维护用户会话的信息,例如一个互联网网站如果每天有 100 万次用户会话,每次 20 分钟的话,那平均同时就会有约 14000 个并发会话。 高可用性。互联网服务的全球性决定了其每天 24 小时都会有用户访问,因此任何服务的停止都会对用户造成影响。而对于电子商务等应用,暂时的服务中止则意味着客户的永久失去及大量的经济损失,例如 71999 年 6 月的一次 22 小时的网站不可访问,对此网站的 380 万用户的忠诚度造成巨大影响,使得 Ebay 公司不得不支付了近500 万美元用于补偿客户的损失,而该公司的市值同期下降了 40 亿美元8

7、。因此,关键互联网应用的可用性要求非常高。 1.3 新浪播客的简介 以 YouTube9为代表的微视频分享网站近来方兴未艾,仅 2006 年一年,国内就出现近百家仿 YouTube 的微视频分享网站10 ,试图复制 YouTube 的成功模式。此类网站可以说是 Web2.0 概念下的代表网站,具有 Web2.0 网站所有典型特征:高并发,高流量,数据量大,逻辑复杂,用户分散等等。新浪11作为国内最大的门户网站,在 2005 年成功运作新浪博客的基础上,于 2006 年底推出了新浪播客服务。新浪播客作为国内门户网站中第一个微视频分享服务的网站,依靠新浪网站及新浪博客的巨大人气资源,在推出后不到半

8、年的时间内,取得了巨大的成功:同类网站中上传视频数量第一、流量增长最快、用户数最多12 ,所有这些成绩的取得的背后,是巨大的硬件投入,良好的架构支撑和灵活的应用层软件设计。 2.网络层架构 2.1 镜像网站技术 镜像网站是指将一个完全相同的站点放到几个服务器上,分别有自己的 URL,这些服务器上的网站互相称为镜像网站13 。镜像网站和主站并没有太大差别,或者可以视为主站的拷贝。镜像网站的好处是:如果不能对主站作正常访问(如服务器故障,网络故障或者网速太慢等) ,仍能通过镜像服务器获得服务。不便之处是:更新网站内容的时候,需要同时更新多个服务器;需要用户记忆超过一个网址,或需要用户选择访问多个镜

9、像网站中的一个,而用户选择的,不一定是最优的。在用户选择的过程中,缺乏必要的可控性。 在互联网发展的初期,互联网上的网站内容很少,而且大都是静态内容,更新频率底。但因为服务器运算能力低,带宽小,网速慢,热门网站的访问压力还是很大。镜像网站技术在这种情况下作为一种有效解决方案,被广泛采用。随着互联网的发展,越来越多的网站使用服务器端脚本动态生成内容,同步更新越来越困难,对可控性要求越来越高,镜像技术因为不能满足这类网站的需要,渐渐的淡出了人们的视线。但有一些大型的软件下载站,因为符合镜像网站的条件下载的内容是静态的,更新频率较低,对带宽,速度要北京聚贤技术服务团队,运营憨豆笑话网 。开心快乐每一

10、天。北京聚贤技术服务团队,运营憨豆笑话网 。开心快乐每一天。求又比较高,如国外的 SourceForge (http:/www.SourceF,著名开源软件托管网站),Fedora (http:/fedoraproject.org ,RedHat 赞助的 Linux 发行版) ,国内的华军软件园(http:/) ,天空软件站(http:/)等,还在使用这项技术(图 1) 。 图 1 上图:天空软件站首页的镜像选择页面 下图:SourceForge 下载时的镜像选择页面 (缺) 在网站建设的过程中,可以根据实际情况,将静态内容作一些镜像,以加快访问速度,提升用户体验。 2.2 CDN 内容分发网

11、络 CDN 的全称是 Content Delivery Network,即内容分发网络。其目的是通过在现有的互联网中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,分散服务器的压力,解决互联网拥挤的状况,提高用户访问网站的响应速度。从而解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题14 。 CDN 与镜像网站技术的不同之处在于网站代替用户去选择最优的内容服务器,增强了可控制性。CDN 其实是夹在网页浏览者和被访问的服务器中间的一层镜像或者说缓存,浏览者访问时点击的还是服务器原来的 URL 地址,但是看到的

12、内容其实是对浏览者来说最优的一台镜像服务器上的页面缓存内容。这是通过调整服务器的域名解析来实现的。使用CDN 技术的域名解析服务器需要维护一个镜像服务器列表和一份来访 IP 到镜像服务器的对应表。当一个用户的请求到来的时候,根据用户的 IP,查询对应表,得到最优的镜像服务器的 IP 地址,返回给用户。这里的最优,需要综合考虑服务器的处理能力,带宽,离访问者的距离远近等因素。当某个地方的镜像网站流量过大,带宽消耗过快,或者出现服务器,网络等故障的时候,可以很方便的设置将用户的访问转到另外一个地方(图 2) 。这样就增强了可控制性。 图 2 CDN 原理示意图 CDN 网络加速技术也有它的局限性。

13、首先,因为内容更新的时候,需要同步更新多台镜像服务器,所以它也只适用于内容更新不太频繁,或者对实时性要求不是很高的网站;其次,DNS 解析有缓存,当某一个镜像网站的访问需要转移时,主 DNS 服务器更改了 IP北京聚贤技术服务团队,运营憨豆笑话网 。开心快乐每一天。北京聚贤技术服务团队,运营憨豆笑话网 。开心快乐每一天。解析结果,但各地的 DNS 服务器缓存更新会滞后一段时间,这段时间内用户的访问仍然会指向该服务器,可控制性依然有不足。 目前,国内访问量较高的大型网站如新浪、网易等的资讯频道,均使用 CDN 网络加速技术(图 3) ,虽然网站的访问量巨大,但无论在什么地方访问,速度都会很快。但

14、论坛,邮箱等更新频繁,实时性要求高的频道,则不适合使用这种技术。 图 3 新浪网使用 ChinaCache CDN 服务。 ChinaCache 的服务节点全球超过 130 个,其中中国节点超过 80 个,覆盖全国主要 6 大网络的主要省份15 。 2.3 应用层分布式设计 新浪播客为了获得 CDN 网络加速的优点,又必须避免 CDN 的不足,在应用层软件设计上,采取了一个替代的办法。新浪播客提供了一个供播放器查询视频文件地址的接口。当用户打开视频播放页面的时候,播放器首先连接查询接口,通过接口获得视频文件所在的最优的镜像服务器地址,然后再到该服务器去下载视频文件。这样,用一次额外的查询获得了

15、全部的控制性,而这次查询的通讯流量非常小,几乎可以忽略不计。CDN 中由域名解析获得的灵活性也保留了下来:由接口程序维护镜像网站列表及来访 IP 到镜像网站的对应表即可。镜像网站中不需要镜像所有的内容,而是只镜像更新速度较慢的视频文件。这是完全可以承受的。 2.4 网络层架构小结 从整个互联网络的高度来看网站架构,努力的方向是明确的:让用户就近取得内容,但又要在速度和可控制性之间作一个平衡。对于更新比较频繁内容,由于难以保持镜像网站之间的同步,则需要使用其他的辅助技术。 3 交换层架构 北京聚贤技术服务团队,运营憨豆笑话网 。开心快乐每一天。北京聚贤技术服务团队,运营憨豆笑话网 。开心快乐每一天。3.1 第四层交换简介 按照 OSI16七层模型,第四层是传输层。传输层负责端到端通信,在 IP 协议栈中是 TCP 和 UDP 所在的协议层。TCP 和 UDP 数据包中包含端口号(port number) ,它们可以唯一区分每个数据包所属的协议和应用程序。接收端计算机的操作系统根据端口号确定所收到的 IP 包类型,并把它交给合适的高层程序。IP 地址和端口号的组合通常称作“插口(Socket) ”。 第四层交换的一个简单定义是:它是一种传输功能,它决定传输不仅仅依据

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号