Facebook所用的软件
   从某些方面来说,Facebook还是属于LAMP类型网站,但是,为了配合其他大量的组件和服务,Facebook对已有的方法,已经做了必要的改变、拓展和修改。
   比如:

  • Facebook依然使用PHP,但Facebook已重建新的编译器,以满足在其Web服务器上加载本地代码,从而提升性能;
  • Facebook使用Linux系统,但为了自身目的,也已做了必要的优化。(尤其是在网络吞吐量方面);
  • Facebook使用MySQL,但也对其做优化。

   还有定制的系统,比如, Haystack -- 高度可扩展的对象存储,用来处理Facebook的庞大的图片;Scribe -- Facebook的日志系统。
   下面展现给大家的是,全球最大的社交网站Facebook所使用到的软件。
Memcached [转]揭秘全球最大网站Facebook背后的那些软件
   Memcached是一款相当有名的软件。它是分布式内存缓存系统。Facebook(还有大量的网站)用它作为Web服务器和MySQL服务器之间的缓存层。经过多年,Facebook已在Memcached和其相关软件(比如,网络栈)上做了大量优化工作。
   Facebook运行着成千上万的Memcached服务器,借以及时处理TB级的缓存数据。可以这样说,Facebook拥有全球最大的Memcached设备。
HipHop for PHP [转]揭秘全球最大网站Facebook背后的那些软件
   和运行在本地服务器上代码相比,PHP的运行速度相对较慢。HipHop把PHP代码转换成C++代码,提高编译时的性能。因为Facebook很依赖PHP来处理信息,有了HipHop,Facebook在Web服务器方面更是如虎添翼。
   HipHop诞生过程:在Facebook,一小组工程师(最初是3位)用了18个月研发而成。
Haystack [转]揭秘全球最大网站Facebook背后的那些软件
   Haystack是Facebook高性能的图片存储/检索系统。(严格来说,Haystack是一对象存储,所以它不一定要存储图片。)Haystack的工作量超大。Facebook上有超过2百亿张图片,每张图片以四种不同分辨率保存,所以,Facebook有超过8百亿张图片。
   Haystack的作用不单是处理大量的图片,它的性能才是亮点。我们在前面已提到,Facebook每秒大概处理120万张图片,这个数据并不包括其CDN处理的图片数。这可是个惊人的数据!!!
BigPipe [转]揭秘全球最大网站Facebook背后的那些软件
   BigPipe是Facebook开发的动态网页处理系统。为了达到最优,Facebook用它来处理每个网页的分块(也称“Pagelets”)。
   比如,聊天窗口是独立检索的,新闻源也是独立检索的。这些Pagelets是可以并发检索,性能也随之提高。如此,即使网站的某部分停用或崩溃后,用户依然可以使用。
Cassandra [转]揭秘全球最大网站Facebook背后的那些软件
   Cassandra是一个没有单点故障的分布式存储系统。它是前NoSQL运动的成员之一,现已开源(已加入Apache工程)。Facebook用它来做邮箱搜索。
   除了Facebook之外,Cassandra也适用于很多其他服务,比如Digg。
Scribe [转]揭秘全球最大网站Facebook背后的那些软件
   Scribe是个灵活多变的日志系统,Facebook把它用于多种内部用途。Scribe用途:处理Facebook级别日志,一旦有新的日志分类生成,Scribe将自动处理。(Facebook有上百个日志分类)。
Hadoop and Hive[转]揭秘全球最大网站Facebook背后的那些软件
   Hadoop是款开源Map/Reduce框架,它可以轻松处理海量数据。Facebook用它来做数据分析。(前面就说到了,Facebook的数据量是超海量的。)Hive起源于Facebook,Hive可以使用SQL查询,让非程序员比较容易使用Hadoop。(注1: Hive是是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为 MapReduce任务进行运行。 )
Thrift
   Facebook在其不同的服务中,使用了不同的语言。比如: PHP用在前端,Erlang用于聊天系统,Java和C++用于其它地方,等等。Thrift是内部开发的跨语言的框架,把不同的语言绑定在一起,使之可以相互“交流”。这就让Facebook的跨语言开发,变得比较轻松。
   Facebook已把Thrift开源,Thrift支持的语言种类将更多。
Varnish [转]揭秘全球最大网站Facebook背后的那些软件
   Varnish是一个HTTP加速器,担当负载均衡角色,同时也用于快速处理缓存内容。
   Facebook用Varnish处理图片和用户照片,每天都要处理十亿级的请求。和Facebook其他的应用应用一样,Varnish也是开源的。

相关文章:

  • 2021-08-13
  • 2021-11-09
  • 2021-07-06
  • 2021-09-21
  • 2021-04-11
  • 2021-05-05
  • 2022-02-09
  • 2022-12-23
猜你喜欢
  • 2021-12-24
  • 2021-12-27
  • 2021-07-07
  • 2021-05-03
  • 2021-12-30
  • 2021-11-30
相关资源
相似解决方案