大型网站如何处理每天数百万的访问量?
网站令人惊讶的一点在于,在某些情况下,一台非常小的计算机可以处理大量访问者。例如,假设你有一个包含大量静态页面(在这里,“静态”意味着每个人在浏览任何页面时看到的都是同一版本)的简单网站。如果你采用运行windows nt或linux的普通500mhz赛扬计算机,该计算机中加载了apache web服务器,并且你用t3线路(传输速率为4500万位/秒)将此计算机连接到互联网,则你每天可以处理数十万访问者。许多isp以每月1,000美元或更低的价格出租类似的专用计算机配置。此配置非常有效,除非存在以下情况:
你每天需要处理数百万访问者。
这台唯一的计算机出现故障(在这种情况下,网站将关闭,直到安装并配置了一台新的计算机)。
页面非常大或极其复杂。
页面需要针对每个用户动态更改。
需要执行后端处理来创建页面内容或处理页面请求。
因为大多数大型网站满足上述所有条件,所以它们需要大得多的基础结构。
有三种主要策略用于处理负载:
网站可以购买一台具有高处理能力、大容量内存、足够磁盘空间和冗余功能的巨型计算机。
网站可以在多台计算机之间分配负载。
网站可以使用以上两个策略的某种组合形式。
如果你访问的网站在你每次访问时具有不同的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。
无人驾驶汽车需要透明窗口显示
分频器的定义及电子、功率分频器的比较
中国联通李福昌:6G发展需要产业“大合唱”
大唐移动领跑TD-LTE 推动TD标准与技术发展
qq聊天记录导出后如何查看
大型网站如何处理每天数百万的访问量?
中科院半导体研究所在柔性人工视觉感知和存储系统领域中取得新进展
热像仪在电子行业有哪些应用场景
GSMA预测到2025年全球约三分之一的5G用户都将会是在中国市场
QW2889F是一款应急检测控制 LED应急灯专用芯片
冷热冲击试验箱高温不稳定
如何连接Arduino声音传感器以控制带有声音的LED
安立公司推出CPRI RF测量选件,可大幅减少4G网络中RRH的测试时间和相关成本
雷卯千兆网1G防雷保护方案(视频)
西门子PLC的功能模块介绍
TL16C452--具有并行端口但没有FIFO的双路UART
华为计划向苹果提供5G芯片
到2023年,大数据市场规模将达到3015亿美元
景嘉微发布《创业板非公开发行股票发行情况报告暨上市公告书》
意法半导体(ST) ARM小伙伴的老朋友