Home >Backend Development >PHP Tutorial >全世界顶尖PHP站Facebook后台技术探秘

全世界顶尖PHP站Facebook后台技术探秘

WBOY
WBOYOriginal
2016-06-13 10:31:17884browse

世界顶尖PHP站Facebook后台技术探秘
Hadoop and Hive

  Hadoop的是一个开源的map-reduce实现,使得它可以在进行大数据上进行运算。 Facebook的使用这个进行数据分析(而我们都知道,Facebook已经大量的数据)。 Hive就是发源于Facebook,使得对于Hadoop使用的SQL查询成为可能,从而是其更容易对非程序员使用。

  Hadoop和Hive是开源的(Apache项目),有为数众多的追随者,例如雅虎和Twitter。

  Thrift

  Facebook使用的几种不同的语言和不同的services。 PHP是最终用于前端,Erlang是用于聊天,JAVA和C ++也使用于多种场所,也许还有其他语言。Thrift是一个内部开发的跨语言的框架,联系语言,使他们可以在一起合作,从而使他们之间可以交互。 这使得Facebook可以更容易为继续保持其跨语言的发展。

  Facebook已经让Thrift开源。更多的语言支持已被添加到Thrift。

  Varnish

  Varnish是一个HTTP加速器,可以作为一个负载平衡器,并缓存的内容,然后可以以闪电般的速度送达。

  Facebook使用的arnish来处理照片和个人资料图片,处理每天数十亿的要求。 和其他的东西一样,Varnish是开源的。

  保持Facebook 顺畅运行的其他东西

  我们已经提到的软件,组成了Facebook的系统,并帮助运行在大规模上。 但是,处理这么大的系统是一个复杂的任务,因此我们将列出一些其他的东西,他们保持了Facebook的平稳运行。

  渐进发布和暗启动

  Facebook有一个他们所谓的守门人制度(Gatekeeper),允许他们可以给不同的用户运行两套不同的系统。 这让Facebook渐进的发布新的功能,A / B测试,只为Facebook雇员发布等的某些特性。

  Gatekeeper也可以让Facebook实现“暗启动”,这是在用户使用一些功能之前,就激活某些功能(因为用户没有察觉,所以称之为暗启动)。 这将作为一个现实世界的压力测试,在正式启动前,帮助揭露一些功能障碍和其他问题。 暗启动通常是在正式启动前两个星期。

  Profiling的直播系统

  Facebook的仔细监控其系统,有趣的是它也负责监察每一个PHP函数在生产环境的性能。 检测各个PHP的环境的配置运行情况。使用开源工具,XHProf 。

  渐进的利用关闭功能来提升性能

  如果Facebook运行时出现性能问题,有一个办法,就是逐步禁用不太重要的功能,以增强Facebook的大量核心功能表现。

  我们没有提及的事情

  我们没有提到硬件相关的事情,但这也是提高可伸缩性的重要一环。例如,就像其他大型站点,Facebook利用CDN来处理静态内容。Facebook还有一个The huge data center,可以帮助他扩展更多的服务。

  Facebook的开源情节

  不仅是Facebook使用(和帮助),如Linux,Memcached的,MySQL和Hadoop的开源软件,以及许多其他情况下,也贡献许多了其内部开发的软件。

  Facebook亦开源了Tornado,一个高性能的网络服务器框架,由FriendFeed团队开发。关于开放源码软件清单,可以在Facebook’s Open Source page.找到。

原文地址http://caifu.zol.com.cn/187/1878540.html

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn