Facebook是全球首屈一指的社交网络平台,该网站采用了很多开源软件,Facebook采用的编程语言包括:Java, Ruby, PHP, Python, Objective-C。
下面是Facebook正在使用或者贡献的开源软件详细列表和介绍:
- Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。
- MySQL这个不需要在介绍什么了吧,使用最为广泛的开源数据库。
- Memcached是一个高性能的、分布式的内存对象缓存系统。
- Scribe旨在帮助Facebook处理服务器上的大量数据,正像Scribe网页所述“如经常访问Facebook,请使用Scribe。具体而言,Scribe就是一台服务器,实时收集用网站日志信息。
- Thrift是一个可伸缩的跨语言的服务开发框架。Key-Value 存储服务器 Cassandra 就是使用Thrift作为其客户端API的。
- FlashCache 是一个适合一般应用场景的MySQL缓存优化模块。
- Hadoop并不仅仅是一个用于存储的分布式文件系统,而是设计用来在由通用计算设备组成的大型集群上执行分布式应用的框架。
- Hive 是一个基于Hadoop的数据仓库平台。通过Hive,我们可以方便地进行ETL的工作。Hive定义了一个类似于SQL的查询语言:HQL,能 够将用户编写的QL转化为相应的Mapreduce程序基于Hadoop执行。
- Open Graph protocol 可让你的任何网页变成社交图谱。
- OpenCompute - 一个开源硬件项目,提供高能效的数据中心。
- Tornado web server 是使用Python编写出來的一个极轻量级、高可伸缩性和非阻塞IO的Web服务器软件,著名的Friendfeed网站就是使用它搭建的。
- Varnish cache 是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang使用3台Varnish代替了原来的12台squid,性能居然比以前更好