MySpace的六次重构
来源:互联网 发布:京东域名 编辑:程序博客网 时间:2024/06/06 04:53
在黄浩文朋友的blog看到一篇好文章,强烈建议所有做互联网的朋友阅读。转载如下:
MySpace的六次重构:
http://www.baselinemag.com/print_article2/0,1217,a=198614,00.asp
看完之后,你会发现MySpace真是一家伟大的公司.
只有真是怀有理想和信念的公司才会把自己的网站完全推倒六次,再重写六次.
MySpace重写了六次,我建议大家都详细看这六次
MySpace现在用的是100%的Microsoft .NET架构,数据库采用SQL Server 2005, 操作系统采用的是Windows Server 2003.
[中文翻译节选 译 / 罗小平]
.......
在每个里程碑,站点负担都会超过底层系统部分组件的最大载荷
虽然自2005年早期,站点账户数超过7百万后
里程碑一:50万账户
按Benedetto 的说法,MySpace最初的系统很小,只有两台Web服务器和一
单个数据库就意味着所有数据都存储在一个地方
但到在2004年早期,MySpace用户数增长到50万后
但和Web服务器不同,增加数据库可没那么简单
在第二代架构中,MySpace运行在3个SQL Server数据库服务器上——一个为主,所有的新数据都向它提交
里程碑二:1-2百万账户
MySpace注册数到达1百万至2百万区间后
"有人花5分钟都无法完成留言,因此用户总是抱怨说网站已经完
这一次的数据库架构按照垂直分割模式设计,不同的数据库服务于
垂直分割策略利于多个数据库分担访问压力,当用户要求增加新功
里程碑三:3百万账户
当用户继续增加到3百万后,垂直分割策略也开始难以为继
另外一个问题是,个别应用如博客增长太快,那么专门为它服务的
2004年中,MySpace面临Web开发者称之为
但成功地向外扩展架构必须解决复杂的分布式计算问题
另外,向外扩展策略还需要大量重写原来软件,以保证系统能在分
因此,MySpace首先将重点放在了向上扩展上
糟糕的是,高端服务器极其昂贵,是购置同样处理能力和内存速度
因此,MySpace最终将目光移到分布式计算架构—
既然所有的核心数据逻辑上都组织到一个数据库
当然,还是有一个特殊数据库保存了所有账户的名称和密码
里程碑四:9百万到1千7百万账户
2005年早期,账户达到9百万后,MySpace开始用Micr
可以说是立竿见影, MySpace马上就发现ASP.NET程序运行更有效率,与ColdFusion相比,完成同样任务需消耗的处理器能力更小
最终,MySpace开始大规模迁移到ASP.NET。即便剩余的少部分ColdFusion代码,也从Cold-Fusion服务器搬到了ASP.NET,因为他们得到了BlueDragon.NET(乔治亚州阿尔法利塔New Atlanta Communications公司的产品,它能将ColdFusi
账户达到1千万时,MySpace再次遭遇存储瓶颈问题
原因之一是每数据库1百万账户的分割策略,通常情况下的确可以
某个数据库可能因为任何原因,在任何时候遭遇主要负荷,这时
最初,MySpace通过定期重新分配SAN中数据
长期解决方案是迁移到虚拟存储体系上,这样,整个SAN被当作
在3PAR的系统里,仍能在逻辑上按容量划分数据存储
当2005年春天账户数达到1千7百万时,MySpace又启
缓存区还为那些不需要记入数据库的数据提供了驿站
增加缓存服务器是"一开始就应该做的事情,但我们成长太快
里程碑五:2千6百万账户
2005年中期,服务账户数达到2千6百万时
更多内存就意味着更高的性能和更大的容量。原来运行32位版本
意外错误
如果没有对系统架构的历次修改与升级,MySpace根本不可
原因之一是MySpace对Microsoft的Web技术的
去年夏天,MySpace的Windows 2003多次自动停止服务。后来发现是操作系统一个内置功能惹的祸
"我们花了大约一个月时间寻找Windows 2003服务器自动停止的原因。"Benedetto说。最后
紧接着是在去年7月某个周日晚上,MySpace总部所在地洛
Benedetto说,主数据中心的可靠性通过下列措施保证
2007年中,MySpace在另两个后备站点上也建设了SA
MySpace仍然在为提高稳定性奋斗,虽然很多用户表示了足
"作为开发人员,我憎恶Bug,它太气人了。"Dan Tanner这个31岁的德克萨斯软件工程师说,他通过MySpa
这就是为什么Drew在论坛里咆哮时,大部分用户都告诉他应该
换句话说,MySpace的偶发故障可能造成某人最后更新的个
Benedetto说,同样,开发人员还经常在几个小时内就完
"我们犯过大量错误,"Benedetto说,"但到头来
MySpace Tech Roster
January 16, 2007
By David F. Carr
MySpace has managed to scale its Web site infrastructure to meet booming demand by using a mix of time-proven and leading-edge information technologies.
APPLICATION PRODUCT SUPPLIER Web application technology Microsoft Internet Information Services, .NET Framework Microsoft Server operating system Windows 2003 Microsoft Programming language and environment Applications written in C# for ASP.NET Microsoft Programming language and environment Site originally launched on Adobe's ColdFusion; remaining ColdFusion code runs under New Atlanta's BlueDragon.NET product. Adobe, New Atlanta Database SQL Server 2005 Microsoft Storage area network 3PAR Utility Storage 3PARdata Internet application acceleration NetScaler Citrix Systems Server hardware Standardized on HP 585 (see below) Hewlett-Packard Ad server software DART Enterprise DoubleClick Search and keyword advertising Google search Google Standard database server configuration consists of Hewlett-Packard HP 585 servers with 4 AMD Opteron dual-core, 64-bit processors with 64 gigabytes of memory (recently upgraded from 32). The operating system is Windows 2003, Service Pack 1; the database software is Microsoft SQL Server 2005, Service Pack 1. There's a 10-gigabit-per-second Ethernet network card, plus two host bus adapters for storage area network communications. The infrastructure for the core user profiles application includes 65 of these database servers with a total capacity of more than 2 terabytes of memory, 520 processors and 130 gigabytes of network throughput. Source: MySpace.com user conference presentations- MySpace的六次重构
- MySpace的六次重构
- Myspace的六次重构
- MySpace.com服务器架构的六次重构
- MySpace的变迁
- myspace的架构方案
- 从MySpace基于.NET平台的六次重构经历感受分布式
- 从MySpace基于.NET平台的六次重构经历感受分布式
- 从MySpace基于.NET平台的六次重构经历感受分布式
- 从MySpace基于.NET平台的六次重构经历感受分布式
- 从MySpace基于.NET平台的六次重构经历感受分布式
- 从MySpace基于.NET平台的六次重构经历感受分布式
- 从MySpace基于.NET平台的六次重构经历感受分布式
- MySpace中文版的可用性问题
- MySpace中文版的可用性问题
- MySpace中文版的可用性问题
- MySpace中文版的可用性问题
- MySpace 系统的变迁日志
- 14. AsciiArt礼节/15. cterm的拷贝TCP包功能
- 单元测试(Unit Test) 之大小
- VC实现文件管理器拖拽(Drag-and-Drop)
- 16. telnet下编辑文章时的一些功能
- 17. 相关软件 /AsciiArt跨站讲座第一讲--CHM版下载
- MySpace的六次重构
- 由265的收购事件想起流氓软件
- 程序员网站资源宝库
- 子网掩码的计算与划分详解
- 设计程序以实现构造哈夫曼树的哈夫曼算法
- Windows 2003上网络负载均衡的实现
- 汇编写的(交集,并集,差集)
- placement new的使用
- 企业要善待业务技术人员