当前位置: 51facebook > 关于facebook >

Facebook主要软件

时间:2011-10-24 15:04来源:www.51facebook.net 作者:faecbook 点击:
Facebook主要软件 Memcached Memcached是当今互联网上最著名的软件之一。它是一个分布式的内存缓存系统,Facebook(包含其他很多网站)用它作为Web服务器和MySQL服务器之间的缓存层(因为数据库访问相对比较慢)。多年来,Facebook已经对Memcached和它的周边软件

  Facebook主要软件

  Memcached

  Memcached是当今互联网上最著名的软件之一。它是一个分布式的内存缓存系统,Facebook(包含其他很多网站)用它作为Web服务器和MySQL服务器之间的缓存层(因为数据库访问相对比较慢)。多年来,Facebook已经对Memcached和它的周边软件进行了很多优化,比如对network stack的优化。

  Facebook每时每刻都有数10TB的数据缓存在数千台Memcached服务器上。它可能是世界上最大的Memcached服务器集群了。

  HipHop for PHP

  作为一种脚本语言,和本地代码相比是运行缓慢的。HipHop可以将PHP转换成C++代码,然后再进行编译,这样可以获得更好的性能。由于Facebook严重依赖PHP,所以通过HipHop可以让Web服务器的性能得到提高。

  一个工程师小团队在Facebook(一开始只有三人)花了18个月时间开发HipHop,现在已经投入正式使用。

  Haystack

  Haystack是Facebook的高性能图片存取系统(严格来说,是一个对象存储系统,因此它并不仅限于存储照片)。它工作繁忙;要管理超过200亿张上传的照片,并且每一片照片被保存为四种不同的分辨率,因此有超过800亿张照片。

  它不仅要能处理上亿的照片,而且性能也是至关重要的。正如我们前面提到的,Facebook每秒钟要处理约120万张照片,而且不包括CDN上的,这是一个惊人的数字。

  BigPipe

  BigPipe是Facebook开发的的动态网页处理系统。为了获得最佳性能,Facebook用它来按分块处理每个网页(称为“pagelets”)。

  例如,聊天窗口,新闻Feed等是通过分块分开进行传输的。这些pagelets可以并行工作,不仅可以提高性能,而且即使其中一部分失效或中断,也不影响用户的正常访问。

  Cassandra

  Cassandra是一个可以避免单点故障的分布式存储系统。它是NoSQL运动的一个典范,并已开放源代码(它甚至成为一个Apache项目)。Facebook在收件箱搜索中使用它。

  除了Facebook,其他网站也在使用它,例如Digg。

  Scribe

  Scribe是一个灵活的日志系统,Facebook在内部大量使用它。它能够处理Facebook这样超大规模的日志记录,并且能自动处理新生成的日志记录类别(Facebook有数百个日志类别)。

  Hadoop and Hive

  Hadoop是一个开源的map-reduce实现,它可以轻松处理海量数据。Facebook用它来进行数据分析(我们都知道Facebook有巨量的数据)。Hive起源于Facebook,它使得针对Hadoop进行SQL查询成为可能,从而非程序员也可以方便地使用。(注:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务运行。)

  怎么上facebook?点击进入详细教程>>>

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------