广告联盟网

 找回密码
 注册
查看: 461|回复: 0
打印 上一主题 下一主题

黑客三人行:技术豪赌重构Facebook基础

[复制链接]
跳转到指定楼层
1#
发表于 2013-6-15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                百度权重查询 站长交易 友情链接交换 网站监控 服务器监控 SEO监控  
               

Facebook工程师帕罗斯基、亚当斯和埃文斯是重构Facebook基础这项艰巨任务的核心人物
以下为文章全文:
18号楼位于Facebook加州门罗帕克新总部的边缘地带,绕到后面,就可以看到“作战窑洞”(The Battle Cave)的遗迹。
今天,这里只是开放办公空间的一种延伸,成排的Facebook员工在这里工作。但如果你看看右边的墙上,就会发现有两个曾经放过平板显示器的金属支架。这就是乔尔·珀巴(Joel Pobar)和他的同事们每天追踪进度的地方。
珀巴领导了一支优秀的工程师团队,负责为这个全球最热门的社交网络重建基础。他们至今已经为该项目辛苦工作了三年多,但去年秋天有几个星期,整个项目的进度停滞不前,甚至有可能永远不见天日。他们当时每天都在18号楼后面的这个房间里劳作,几乎每时每刻都在重写代码,希望自己的作品能使用在这个全球最大的网站上。
“作战窑洞”的确名副其实。他们当时不止在努力编写代码,还在跟时间赛跑。与斯坦利·库布里克(Stanley Kubrick)扮演的奇爱博士(Dr. Strangelove)的“作战室”(The War Room)一样,这里的墙上也挂着一对显示器,时时提醒他们注意工作进度,而最终的成果将在Facebook未来的发展中扮演至关重要的角色。
他们后来搬出了“作战窑洞”,但那两个金属支架依然保留下来,算是一个小小的提醒,让人们不要忘却Facebook当年的那场豪赌——这场技术豪赌佐证了这家成立9年的企业所秉承的独特态度,该公司创始人兼CEO马克·扎克伯格(Mark Zuckerberg)将其称作“黑客之道”。
“这是一场高风险、高回报的赌博。我们现在的规模巨大,所以要存活下去,必须要冒巨大的风险。”杰伊·帕里克(Jay Parikh)说,他是负责Facebook底层硬件和软件设计及运营工作的工程副总裁。
要理解这场豪赌,先要把时钟拨回到2003年末。如果你看过电影《社交网络》,肯定知道这样一幕:在那段寒冷的岁月里,扎克伯格在哈佛大学的寝室里开始着手开发他的社交网络。
 透视“黑客之道”
有关Facebook的创意源自何处,以及扎克伯格当时的目的是什么,至今仍然存在争议。但有一点是确定的:当他着手开发这个网站时,使用了一种名为PHP的编程语言。
在扎克伯格这样的网络程序员中,PHP在2003年可谓风靡一时。这种语言使得他们能以极快的速度开发和改造网络软件,绕过C++和Java等更加复杂的语言。但随着时间的流逝,PHP这种快速开发的特点对Facebook和“黑客之道”的重要性也凸现出来。而正是“黑客之道”的理念不断激励扎克伯格和Facebook向前发展。Facebook的工程师乐于改变,而且乐于迅速改变。PHP为他们赋予了这种能力。
这是一种所谓的“动态”编程语言,无需花时间去定义程序中使用的每个变量的特定参数。“如果你让满满一屋子的开发者编写一款应用,而且他们使用的是动态语言,他们就可以加快任务完成速度。”Facebook工程师基斯·亚当斯(Keith Adams)说。
如今,Facebook在全球拥有超过10亿的用户,专门负责该网站的开发和改版工作的工程师也超过1000人,他们仍在使用PHP。
从某种意义上讲,这令人十分意外。尽管PHP是快速开发的理想工具,但却不太适合规模如此庞大的网站。当你用PHP,而不用C++等“静态”语言开发网站时,可以加快开发进度,但却需要使用更多的服务器来运行网站。所以,倘若用户达到10亿,光是服务器就是一笔不菲的开支。
然而扎克伯格和他的公司却一直沿用了这种语言。他们没有像Twitter那样采用新的编程语言,而是发明了一种新的方式来大幅提升PHP的运行速度。从本质上讲,他们一直都在不断更换网站的基础,但却没有改变网站本身。这就是所谓的“黑客之道”。
2010年,Facebook推出了一款名为HipHop的工具,可以在通过服务器执行代码前,将PHP代码转换成C++代码。与纯粹的PHP代码相比,这种模式处理的流量高出五六倍之多。
“如果没有HipHop,我们可能已经陷入困境。我们所需要的服务器数量很可能超出了我们的能力。”Facebook工程师德鲁·帕罗斯基(Drew Paroski)说,“背水一战最终起到了成效。”
但就在那次涉险过关后不久,帕罗斯基、亚当斯和另外一名Facebook工程师詹森·埃文斯(Jason Evans)决定更进一步,让Facebook永久摆脱这种困境。于是,他们三人达成了共识,决定将PHP的性能提升到更高的水平,把HipHop替换成虚拟机——这种软件可以在该网站的PHP代码和服务器硬件之间产生更大的协同效应。
他们决定放弃将PHP转换成C++的方式,转而将其直接转换成机器代码——也就是服务器芯片所使用的语言——而且会在代码执行过程中完成这一转换。通过实时追踪网站的运行方式,他们可以更好地了解如何将其转换成机器代码,从而最终提升速度。“HipHop似乎完全可以被击败。”亚当斯回忆说。
这个想法很大胆,毕竟HipHop当时刚刚上线,况且开发这种虚拟机是一项规模庞大的任务,通常要由甲骨文、微软和VMware这样的公司来完成。这些公司的目标就是创造这种“系统软件”,也就是支撑我们的电脑系统运行的核心软件。
                                     
                        
                                1
                                2
                                3
                                下一页
                           
                        
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|广告联盟网  

GMT, 2024-11-26 , Processed in 0.070844 second(s), 19 queries .

Powered by Discuz! X3.2

© 2005-2021 www.ggads.com GGADS 广告联盟网

快速回复 返回顶部 返回列表