Facebook是用PHP构建的大型系统吗?

标签: facebook php 系统 | 发表时间:2015-09-18 23:44 | 作者:arksea
出处:http://www.iteye.com
    想要构筑一个大型系统,如果你不像Facebook那么有钱、任性还能折腾,如果你的团队规模有限,如果你想要节约成本,如果你想要降低人员流动带来的影响,如果你要减小HR的压力,如果你希望员工可以在工作告一段落后可以在不同的项目/团队间进行转岗,那么尽量让团队使用少的技术/语言是一个很好的选择,PHP会是这个不二之选吗?
    我们来看看号称“一直”使用PHP做为“主要”开发语言的Facebook这些年都折腾出了什么:
  • HipHop   将PHP代码转换为C++代码,之后由C++编译器进行编译,代码不再运行在PHP虚拟机上。2010年Facebook性能问题开始凸显时,已经拥有数百万行的PHP代码,上千名PHP工程师,如果改用其他语言(非不想实不能!)根本不现实,所以成立了一个小组花费18个月开发了HipHop,这种事情显然不是什么公司都能干的。  
  • HHVM :  准备替代HipHop的PHP虚拟机技术,为了纪念早先的PHP代码转换工具HipHop ,命名为HipHop Virtual Machine   
  • Hack:  可以在HHVM虚拟机上运行的PHP改进语言,实现了一些静态语言特性
  • Cassandra:  分布式存储系统     Java   已开源
  • Scribe:  日志系统  C/C++  已开源
  • Haystack/F4:  高性能图片存储与检索系统  C/C++  闭源
  • Thrift:  Facebook为了PHP可以调用后端服务开发的跨语言RPC框架,事实上只有Java版本的实现最完整,PHP使用的是C++的版本做了个简单的API引入功能有限,想要进行扩展难免要使用C++进行开发,Thrift编译器为C++实现  已开源
    Facebook使用的其他不是自己开发的开源技术就不多说了,至少如果需要在Hadoop下用MapReduce进行大数据统计处理,就不要指望可以用PHP了。
    最后引用文章《 看三名工程师如何重建Facebook基础》的最后几段:
    在有了“HipHop虚拟机”以后,Facebook能以大多数开发者永远都想象不到的速度运行PHP代码。但是,仍旧有人质疑为何这家公司要这么走极端。长期开发者、编程权威人士大卫·波拉克(David Pollack)就不认同Facebook坚持使用PHP语言的作法。“PHP语言用来构建一个应急网站是最好的。对我来说,Facebook能利用这种语言构建像Facebook网站那样强大而灵活的网站确实令人印象深刻,但我不认为PHP是构建一个网站的最好方法,这就像是住在新泽西州的人非要把这个州称作‘花园州’一样。”
    就连亚当斯也承认,虽然他曾宣称动态语言能让开发者更具生产力,但这种说法在某些情况下也值得商榷。埃文斯也承认,虽然PHP这样的语言或许能在短期内提高生产力,但从长期来看则会带来更多困难。
    当然,Facebook之所以还在坚持使用PHP语言,在很大程度上是因为用另一种语言来重新编写整个网站的代码是一项更加庞大的任务。Facebook将此称为“遗留问题”(The Legacy Problem)。“到最后,总有一天网站的规模会大到不重写不行的地步。”帕洛斯基说道。
 
 
 


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [facebook php 系统] 推荐:

Facebook是用PHP构建的大型系统吗?

- - 企业架构 - ITeye博客
    想要构筑一个大型系统,如果你不像Facebook那么有钱、任性还能折腾,如果你的团队规模有限,如果你想要节约成本,如果你想要降低人员流动带来的影响,如果你要减小HR的压力,如果你希望员工可以在工作告一段落后可以在不同的项目/团队间进行转岗,那么尽量让团队使用少的技术/语言是一个很好的选择,PHP会是这个不二之选吗.

Facebook 推出 PHP 语言规范草案

- - 开源中国社区最新新闻
PHP是最广泛使用的脚本语言之一,被数以千万计的网站使用,但直到现在它才有一个正式的语言规范. Facebook工程师和PHP核心开发者 Sara Golemon在上月初举行的OSCON会议上 宣布了制定正式规格的计划,现在规格的草案已经发布在Github上. Facebook网站主要是基于PHP语言,过去几年Facebook向PHP贡献了许多开源项目,如虚拟机HHVM,翻译器HPHPc.

PHP实现Google Oauth的登录系统

- - 极客521 | 极客521
本文讲述的是如何为你的PHP项目实现Google的Oauth系统. 这个示例PHP脚本非常快,对增加你的PHP项目注册当然是很有帮助的. 在这之前,我们已经覆盖了包含Facebook、Twitter、Google plus以及Instagram的Oauth登录系统示例. 很遗憾之前我遗漏掉了Google的Oauth登录系统.

Facebook的实时Hadoop系统

- wangjia - Solrex Shuffling
Facebook 在今年六月 SIGMOD 2011 上发表了一篇名为“Apache Hadoop Goes Realtime at Facebook”的会议论文 (pdf),介绍了 Facebook 为了打造一个实时的 HBase 系统使用到的独门秘技. 由于该论文提到的应用场景与小弟负责的系统要解决的问题域有相似之处,因而抽时间仔细阅读了这篇论文.

Facebook 的系统架构

- Ivan - 博客园新闻频道
  来源:http://www.quora.com/What-is-Facebooks-architecture (由Micha?l Figuière回答).   根据我现有的阅读和谈话,我所理解的今天Facebook的架构如下:. Web 前端是由 PHP 写的. Facebook 的 HipHop [1] 会把PHP转成 C++并用 g++编译,这样就可以为模板和Web逻贺业务层提供高的性能.

谈谈Facebook的聊天系统架构

- - idea's blog
今天看到一份 Facebook 公司 2009 年的 PDF, 介绍它的聊天系统架构, 其中的一张图结构非常清晰, 所以我对这张图谈谈我的看法.. Web Tier: 用 PHP 开发, 聊天相关的业务逻辑代码. 如 AJAX 请求, HTML 页面拼接等. 这个模块整个其它的 3 个模块, 向浏览器提供了大部分的聊天接口..

PHP导出excel

- syeye - scofield PHP开发-SEO SEM
最近做一个项目,其中涉及到了数据导成excel的功能. 后来使用了 开源的 PHPExcel  http://phpexcel.codeplex.com/ 目前最新版是1.7.6. PHPExcel 可以生成 .xls 和 .xlsx (office2007). 比如设置 excel的title,keywords,description.

PHP框架 Yaf

- Le - 开源中国社区最新软件
Yaf是一个C语言编写的PHP框架,Yaf 的特点: 用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销. 所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存. 更短的内存周转周期, 提高内存利用率, 降低内存占用率. 支持全局和局部两种加载规则, 方便类库共享.

Facebook Cookies跟踪登出系统的用户

- 微笑!?~ - Solidot
淘宝网女装秋装外套 写道 "Facebook被人诟病的最大问题是隐私问题,现在它再次被曝光在用户登出系统后仍然跟踪用户行为. 新的隐私问题是:由于修改了cookie,Facebook现在知道用户在做什么,即使用户已经登出Facebook网站,他们也能通过Cookie继续跟踪用户. 澳大利亚技术抓紧Nik Cubrilovic运行一系列测试,分析浏览器向Facebook网站发出请求的HTTP头文件,他发现Facebook在用户登出的时候没有删除cookie,而是对其跟踪的cookie进行修改.