(一) MySpace
今天,MySpace已经成为全球众口皆碑的社区网站之王。尽管一流和营销和管理经验自然是每个IT企业取得成功的首要因素,但是本节中我们却抛弃这一点,而主要着眼于探讨在数次面临系统扩张的紧急关头MySpace是如何从技术方面采取应对策略的。
第一代架构—添置更多的Web服务器
MySpace最初的系统很小,只有两台Web服务器(分担处理用户请求的工作量)和一个数据库服务器(所有数据都存储在这一个地方)。那时使用的是Dell双CPU、4G内存的系统。在早期阶段,MySpace基本是通过添置更多Web服务器来对付用户暴增问题的。但到在2004年早期,在 MySpace用户数增长到五十万后,其数据库服务器已经开始疲于奔命了。
第二代架构—增加数据库服务器
与增加Web服务器不同,增加数据库并没那么简单。如果一个站点由多个数据库支持,设
计者必须考虑的是,如何在保证数据一致性的前提下让多个数据库分担压力。
MySpace运行在三个SQL Server数据库服务器上—一个为主,所有的新数据都向它提交,然后由它复制到其它两个;另两个数据库服务器全力向用户供给数据,用以在博客和个人资料栏显示。这种方式在一段时间内效果很好——只要增加数据库服务器,加大硬盘,就可以应对用户数和访问量的增加。
这一次的数据库架构按照垂直分割模式设计,不同的数据库服务于站点的不同功能,如登录、用户资料和博客。垂直分割策略利于多个数据库分担访问压力,当用户要求增加新功能时,MySpace只需要投入新的数据库加以支持。在账户到达二百万后,MySpace还从存储设备与数据库服务器直接交互的方式切换到SAN(存储区域网络)—用高带宽、专门设计的网络将大量磁盘存储设备连接在一起,而数据库连接到SAN。这项措施极大提升了系统性能、正常运行时间和可靠性。然而,当用户继续增加到三百万后,垂直分割策略也变得难以维持下去。
第三代架构—转到分布式计算架构
几经折腾,最终,MySpace将目光移到分布式计算架构——它在物理上分布的众多服务器,整体必须逻辑上等同于单台机器。拿数据库来说,就不能再像过去那样将应用拆分,再以不同数据库分别支持,而必须将整个站点看作一个应用。现在,数据库模型里只有一个用户表,支持博客、个人资料和其他核心功能的数据都存储在相同数据库。
既然所有的核心数据逻辑上都组织到一个数据库,那么MySpace必须找到新的办法以分担负荷——显然,运行在普通硬件上的单个数据库服务器是无能为力的。这次,不再按站点功能和应用分割数据库,MySpace开始将它的用户按每百万一组分割,然后将各组的全部数据分别存入独立的SQL Server实例。目前,MySpace的每台数据库服务器实际运行两个SQL Server实例,也就是说每台服务器服务大约二百万用户。据MySpace的技术人员说,以后还可以按照这种模式以更小粒度划分架构,从而优化负荷分担。 .
第四代架构—求助于微软方案
2005年早期,账户达到九百万,MySpace开始用微软的C#编写ASP.NET程序。在收到
一定成效后,MySpace开始大规模迁移到ASP.NET。
账户达到一千万时,MySpace再次遭遇存储瓶颈问题。SAN的引入解决了早期一些性能问题,但站点目前的要求已经开始周期性超越SAN的I/O容量——即它从磁盘存储系统读写数据的极限速度。
第五代架构—增加数据缓存层并转到支持64位处理器的SQL Server 2005
2005年春天,MySpace账户达到一千七百万,MySpace又启用了新的策略以减轻存储系统压力,即增加数据缓存层——位于Web服务器和数据库服务器之间,其唯一职能是在内存中建立被频繁请求数据对象的副本,如此一来,不访问数据库也可以向Web应用供给数据。
2005年中期,服务账户数达到两千六百万时,MySpace因为我们对内存的渴求而切换到了还处于beta测试的支持64位处理器的SQL Server 2005。升级到SQL Server 2005和64位Windows Server 2003后,MySpace每台服务器配备了32G内存,后于2006年再次将配置标准提升到64G。
事实上,MySpace的Web服务器和数据库仍然经常发生超负荷,其用户频繁遭遇“意外错误”和“站点离线维护”等告示,他们不得不在论坛抱怨不停……
MySpace正是在这样不断重构站点软件、数据库和存储系统中,才一步步走到今天。事实上,MySpace已经成功解决了很多系统扩展性问题,其中存在相当的经验值得我们借鉴。MySpace系统架构到目前为止保持了相对稳定,但其技术人员仍然在为SQL Server支持的同时连接数等方面继续攻坚,尽可能把事情做到最好。
分享到:
相关推荐
本文将通过对国外大型IT网站,尤其是MySpace的成功案例分析,探讨应对高并发、高负载的技术策略。 1. **添置更多的Web服务器**:MySpace在初期采用简单的架构,通过增加Web服务器分担用户请求。但当用户数量达到...
### 国外十大CRM系统软件商及其产品比较研究 #### CRM软件商的比较 随着客户关系管理系统(CRM)在全球范围内的广泛应用,对于不同CRM软件商的产品特性、功能、价格和技术等方面的对比研究变得尤为重要。本研究...
2016年,国外的一些初创公司在这个领域表现尤为突出,以下是13家值得关注的大数据分析公司: 1. **Alation**:成立于2012年的Alation,总部位于加州Redwood City。它在A轮融资中获得了900万美元,主要投资者包括...
百安居是世界第三、欧洲第一的大型国际装饰建材零售企业,拥有30多年成功管理经验的大型国际装饰建材零售集团。随着业务的高速发展,百安居的IT环境也变得越来越复杂,需要快速灵活的部署新设备、应对新技术和设备的...
1. **团队协作与项目管理**:文中提到的随岳南高速伸缩缝安装项目,成功得益于整个团队的共同努力,展示了团队协作在大型项目中的关键作用。同时,通过三个月的工作,团队成员不仅学会了基本的交工资料和计量资料...
华为、海尔和联想等大型企业在信息化道路上走得更远,它们不仅采用了ERP、CRM和SCM等管理软件,还通过制定明确的业务重组和IT战略来获取竞争优势。例如,华为通过引入国外管理咨询公司,学习并消化跨国企业的先进...
这一行业中的企业,尤其是像华为、海尔和联想这样的大型企业,已经认识到信息技术(IT)在提升企业竞争力方面的作用。随着电子行业的产值持续增长,IT投入也随之增加,企业纷纷从简单的部门数据处理阶段向信息化治理...
根据给定文件的信息,我们可以提炼出以下相关的IT与管理知识点: ### 1. 大型商业项目的规划与设计理念 #### 圆方广场案例分析 - **设计理念与创新**:圆方广场采用了独特的横向式设计布局,不同于传统的垂直式...
#### 二、国外大型IT网站的成功之道:以MySpace为例 ##### (一)MySpace的架构演进之路 **1. 第一代架构:添置更多的Web服务器** MySpace最初采用了非常简单的架构,仅包含两台Web服务器用于处理用户请求,以及一...
这些从业者可能面临文化差异、语言挑战以及技术环境的变化,这个平台可能是为了帮助他们适应并成功在国际IT行业中发展。 【标签】:“TypeScript”是这个主题的关键点。TypeScript是一种由微软开发的开源编程语言,...
例如,建设银行和邮储银行分别在2016年和2014年采用分布式架构,成功上线了新一代核心系统,显著提升了交易处理能力和系统的稳定性,同时也降低了IT成本,打破了国外大型主机在国内金融核心领域的垄断。 证券行业...
ASP.NET模块化动态电子商务网站的开发是一个复杂而深入的议题,涵盖了多个IT领域的关键技术。这个项目不仅涉及到ASP.NET框架的应用,还涵盖了网站的模块化设计、动态内容生成、数据库交互以及用户界面的设计等多个...
该院不仅在国内民用和工业项目的建设中扮演着关键角色,还通过了ISO9001国际质量体系认证,并有能力承接国外工程项目。其业务范围广泛,包括建筑、城市规划、综合勘察等,且拥有强大的技术团队支持。 #### 面临挑战...
### Java与.NET:抉择之道 #### 技术背景与发展趋势 Java自1995年由Sun Microsystems推出以来,凭借其跨平台性、安全性、稳定性和庞大的生态系统,迅速成为企业级应用开发的首选语言。而.NET框架由微软于2002年...
- **评注**:富士通是全球最大的IT服务供应商之一,在日本市场占据领先地位,其收入的67%来自于本土市场。富士通及其与西门子的合资公司均在全球服务器和个人电脑供应商中排名前五。 ##### 8. 思科系统公司 - **...
综上所述,熊猫精酿的创业和成长之路,融合了对市场的敏锐洞察、对技术的精妙运用、对品牌的精心打造、对销售渠道的广泛开拓以及对资本的有效利用。这些因素共同推动了熊猫精酿在激烈的市场竞争中脱颖而出,成为中国...
面对这样的市场环境,分销商也开始涉足系统集成领域,而大型IT厂商如IBM的集成服务部门也在中国市场迅速扩张。这种趋势表明,系统集成市场正逐渐从传统的直销模式转变为更加多元化和竞争激烈的市场格局,要求企业在...