很多人都听过脸书起步创业的故事,那个时候扎克伯格利用php搭建了facebook,从此脸书就迅速盘踞了校园,末了它走向了环球。
脸书虽然采取的是php,但是那是经由修正的php,它利用了hhvm进行了编译,效率大大提升。
脸书虽然也利用msyql,但是那也是经由修正的版本,它经由了优化,并且它只是作为数据的存储利用,更多的时候它们利用的是memcached内存数据库。

脸书的操作系统利用的也是linux,不过这也是经由优化的版本,性能更加精良。
再大略的问题当用户量巨大的时候,也会变成繁芜的问题,为什么大数据会吸引无数公司去研究,由于数据量变多的时候,它就会变得非常繁芜。
memcached到目前为止,Memcached是互联网上最著名的软件之一。这是一个分布式内存缓存系统,Faceebook将它用作Web做事器和MySQL做事器之间的缓存层。多年来,Facebook对Memcached及其周围的软件进行了大量优化。
Facebook可以在任何韶光点运行数千个Memcached做事器,个中包含数十TB的缓存数据。它可能是天下上最大的Memcached集群。
HHVM与在做事器受骗地运行的编译措辞代码比较,PHP是一种脚本措辞,相对而言速率较慢。 HipHop将PHP转换为C ++代码,然后可以对其进行编译以得到更好的性能。由于Facebook严重依赖PHP来供应内容,因此这使得Facebook可以从其Web做事器中得到更多收益。
Haystack它是Facebook的高性能照片存储/检索系统(严格来说,Haystack是工具存储,因此不一定必须存储照片)。它有大量的事情要做。
Facebook上有超过几千亿张上传的照片,并且每张照片都以四种不同的分辨率保存,因此产生了海量照片。
而通过Haystack则可以进行照片的快速查询。
BigPipeBigPipe是Facebook开拓的动态网页做事系统。
Facebook利用它来为每个网页中的各个部分(称为“小页面”)供应做事,以得到最佳性能 。 例如,谈天窗口是分别检索的,新闻提要是分别检索的,依此类推。可以并行检索这些pagelet,这是提高性能的地方,纵然页面的某些部分被停用或破坏,它也可以为用户供应可以正常事情的站点。
CassandraCassandra是没有单点故障的分布式存储系统。这是一种nosql数据库,具有高效的读取效率。
很多时候facebook和利用它来代替Redis。
Hadoop和HiveHadoop是一种开源的map-reduce履行,可以对大量数据进行打算。
Facebook将其用于数据剖析(众所周知,Facebook拥有大量数据)。
Hive起源于Facebook内部,可以对Hadoop利用SQL查询,从而使非程序员更易于利用。
ThriftFacebook利用几种不同的措辞来供应不同的做事。 PHP用于前端,Erlang用于谈天,Java和C ++也用于多个地方(大概还有其他措辞)。
Thrift是一种内部开拓的跨措辞RPC通信框架,它可以将所有不同的措辞联系在一起,使它们可以相互通信。通过它Facebook保持跨措辞开拓变得更加随意马虎。
未来脸书环球有着大量的用户,面对如此多的用户,它们无论是对产品的稳定还是对产品的性能都有着严格的哀求。然而,脸书也有着非常多精良的工程师,他们不断用自己的聪慧来驱动脸书向更好的方向发展。