提供高性能 揭秘Facebook的系统架构
2012-02-17 23:25
489 查看
提供高性能 揭秘Facebook的系统架构
分类:软件技术 软件架构
2011-04-29 23:03
20人阅读 评论(0)
收藏
举报
提供高性能 揭秘Facebook的系统架构
来源:中关村在线
2011年04月26日10:08
我来说两句(0)
复制链接
打印
大中小
大中小
大中小
Web 前端是由 PHP 写的。Facebook 的 HipHop会把PHP转成 C++并用 g++编译,这样就可以为模板和Web逻贺业务层提供高的性能。
业务逻辑以Service的形式存在,其使用Thrift。这些Service根据需求的不同由PHP,C++或Java实现(也可以用到了其它的一些语言……)用Java写的Services没有用到任何一个企业级的应用服务器,但用到了Facebook自己的定制的应用服务器。看上去好像是重新发明轮子,但是这些Services只被暴露给Thrift使用(绝大所数是这样),Tomcat太重量级了,即使是Jetty也可能太过了点,其附加值对 Facebook所需要的没有意义。
持久化由MySQL, Memcached, Facebook 的 Cassandra, Hadoop 的 HBase完成。Memcached 使用了MySQL的内存Cache。Facebook 工程师承认他们的Cassandra 使用正在减少,因为他们更喜欢HBase,因为它的更简单的一致性模型,以到其MapReduce能力。
离线处理使用Hadoop 和 Hive。
日志,点击,feeds数据使用Scribe,把其聚合并存在 HDFS,其使用Scribe-HDFS,因而允许使用MapReduce进行扩展分析。
BigPipe是他们的定制技术,用来加速页面显示。
Varnish Cache用作HTTP代理。他们用这个的原因是高速和有效率。.
用来搞定用户上传的十亿张照片的存储,其由Haystack处理,Facebook自己开发了一个Ad-Hoc存储方案,其主要做了一些低层优化和“仅追加”写技术.
Facebook Messages 使用了自己的架构,其明显地构建在了一个动态集群的基础架构上。业务逻辑和持久化被封装在一个所谓的"Cell"。每个"Cell"都处理一部分用户,新的"Cell"可以因为访问热度被添加。持久化归档使用HBase。
Facebook Messages 的搜索引擎由存储在HBase中的一个倒置索引的构建。
Facebook 搜索引擎实现细节据我所知目前是未知状态。
Typeahead 搜索使用了一个定制的存储和检索逻辑。
Chat 基于一个Epoll 服务器,这个服务器由Erlang 开发,由Thrift存取
关于那些供给给上述组件的资源,下面是一些信息和数量,但是有一些是未知的:
Facebook估计有超过60,000 台服务器。他们最新的数据中心在俄勒冈州的Prineville,其基于完全自定设计的硬件 那是最近才公开的 Open Compute 项目。
300 TB 的数据存在 Memcached 中处理
他们的Hadoop 和 Hive 集群由3000 服务器组成,每台服务器有8个核,32GB的内存,12TB的硬盘,全部有2万4千个CPU的核,96TB内存和36PB的硬盘。
每天有1000亿的点击量,500亿张照片,100 billion hits per day, 50 billion photos, 3 万亿个对象被 Cache,每天130TB的日志
(责任编辑:Newshoo)
分享到:
上一篇:中间件
下一篇:计算机语言发展史
相关文章推荐
- 提供高性能 揭秘Facebook的系统架构
- 揭秘Facebook的系统架构
- 揭秘Facebook 的系统架构
- 【转发】揭秘Facebook 的系统架构
- 揭秘Facebook的系统架构
- [转载]揭秘 Facebook 的系统架构
- 揭秘Facebook 的系统架构
- 基于IA架构高性能集群系统技术
- 架构设计:系统存储(18)——Redis集群方案:高性能
- 揭秘Kafka高性能架构之道-Kafka设计解析(六)
- Linux 服务器后台系统架构的高性能设计
- 【原创】揭秘_APIX_的高性能网关架构
- 关于大型asp.net应用系统的架构—如何做到高性能高可伸缩性
- APP后台开发运维与架构实践 7 :Redis---App后台高性能的缓存系统
- Facebook 的系统架构 - 肇凯博客
- 深度学习利器: TensorFlow系统架构及高性能程序设计
- 一张图讲清楚高可用、高性能、可扩展的WEB系统架构
- 高并发高性能仓库库存系统的架构设计
- 高性能网站性能优化与系统架构(ZT)
- 基于IA架构高性能集群系统技术