这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 大型网站如何处理每天数百万的访问量?

共1条 1/1 1 跳转至

大型网站如何处理每天数百万的访问量?

高工
2014-06-12 10:32:55     打赏

大型网站如何处理每天数百万的访问量?

网站令人惊讶的一点在于,在某些情况下,一台非常小的计算机可以处理大量访问者。例如,假设你有一个包含大量静态页面(在这里,“静态”意味着每个人在浏览任何页面时看到的都是同一版本)的简单网站。如果你采用运行Windows NT或Linux的普通500MHz赛扬计算机,该计算机中加载了Apache Web服务器,并且你用T3线路(传输速率为4500万位/秒)将此计算机连接到互联网,则你每天可以处理数十万访问者。许多ISP以每月1,000美元或更低的价格出租类似的专用计算机配置。此配置非常有效,除非存在以下情况:

  • 你每天需要处理数百万访问者。
  • 这台唯一的计算机出现故障(在这种情况下,网站将关闭,直到安装并配置了一台新的计算机)。
  • 页面非常大或极其复杂。

  • 页面需要针对每个用户动态更改。

  • 需要执行后端处理来创建页面内容或处理页面请求。

因为大多数大型网站满足上述所有条件,所以它们需要大得多的基础结构。

有三种主要策略用于处理负载:

  1. 网站可以购买一台具有高处理能力、大容量内存、足够磁盘空间和冗余功能的巨型计算机。

  2. 网站可以在多台计算机之间分配负载。

  3. 网站可以使用以上两个策略的某种组合形式。

如果你访问的网站在你每次访问时具有不同的URL(例如www1.xyz.com、www2.xyz.com、www3.xyz.com等),则说明该网站在前端使用了第二种方法。通常,网站拥有很多台独立的计算机,并且每台计算机都运行Web服务器软件。它们都可以访问网站页面的相同副本。传入的页面请求以下列两种方式之一在所有计算机之间分布:

  • 网站的域名服务器(Domain Name Server, DNS)可以分配负载。DNS是将域名转换为IP地址的互联网服务。每次发出针对Web服务器的请求时,DNS都会循环选择可用的IP地址以均分负载。各台服务器对该网站的相同网页集具有共同访问权。

  • 负载均衡交换机可以分配负载。所有针对该网站的请求都将到达一台计算机,该计算机随后将请求传递给其中一个可用服务器。交换机可以找到负载最低的服务器,这样所有服务器都将完成相同数量的工作。这正是博闻网用于其服务器的方法。负载均衡器在三个不同的Web服务器之间分配负载。其中一个服务器出现故障时,不会对该网站产生任何影响。

这种冗余方法的优点在于,任一计算机出现故障时都不会产生问题——其他计算机会承担它的负载。另外,这种方法还容易以递增方式增加处理能力。其缺点在于,如果需要进行事务处理,则这些计算机仍然必须同某种中央数据库通信。

Microsoft的TerraServer采用“单台大型计算机”方法。Terraserver存储了数千GB的卫星成像数据,并且处理针对这些信息的数百万个请求。该网站使用巨型企业级计算机来处理负载。例如,TerraServer使用的单台Digital AlphaServer 8400具有8个440MHz64位处理器和10GB经校验并纠正了错误的RAM。




关键词: 网站    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]