`

facebook的技术相关架构

阅读更多

人才 学疏浅,提出这个问题只是为了抛砖引玉,希望大家能在自己擅长的领域里对Facebook中可能采用的某个技术 或者架构方案或优化方法 ,做个自己的论述。根据2008年9月1日,腾讯网对Facebook的技术运营副总裁Jonathan Heiliger的访问 ,我们了解到:
(1)Facebook自称全球流量第四的网站 ,每天9000万活跃用户访问Facebook的1万台服务器
(2)25TB数据 (08年12月为28TB),40万名外部开发 者支持,开发了2.5万套应用 软件
(3)使用LAMP Linux 、 Apache  MySQL 、  PHP )技术构架;数据库 使用MySQL ;使用Memcached缓存SQL加速(全球最大的分布式Memcached缓存,800多台服务器,光缓存在Memcached中数据就达20多TB);使用APC进行opcode编译缓存。关于PHP的编译执行如下图所示:
机制.jpg

而Facebook的缓存方案如下图所示:
facebook机制.jpg


(4)一些后台应用是用Python、Perl和Java ,以及一些gcc和Boost。 (5)使用SVN和Git来进行代码 管理,并且全部企业内部的软件部署都采用开源 程序


2. 可能会采用的MySQL架构与优化
(1)数据的垂直(无关联数据放置不同数据库服务器)与水平分割(库表散列,如用user_id散列),然后用MySQL Proxy/Spock Proxy进行分割表的反向代理。
(2)合理使用变量,并在本地文件 建立散列的映射关系,进一步进行分割。
(3)Master/Slave集群架构,实现读写分离。
(4)合理的数据库结构设计,与索引优化

(5)其他:索引缓存、联合索引、查询 缓存等。


3. 可能会采用的系统 优化
(1)使用epoll模型
(2)异步I/O
(3)fastcgi或其他方法实现多进程
(4)sendfile系统调用增大网络 I/O流量
4. 可能会采用的Web 架构或前端技术
(1)Web组件分离,如独立的图片服务器,JavaScript、CSS 文件、动态脚本的分离。
(2)Nginx反向代理(或Squid)
(3)多副本负载均衡
(4)HTTP持久连接与合理利用浏览器缓存,例如背景图偏移量技术,及对CSS、JavaScript和视频
5. 一些可能会用也可能不用的压力测试
(1)Apache的ab进行压力测试
(2)Apache的prefork模式进行多进程切换的压力测试
(3)使用Nginx为多进程下的CPU与IO进行监控

Linux下的Memcached开发,请参看逆雪寒的文章 http://bbs.phpchina .com/viewthread.php?tid=48667&highlight=linux %2B%CF%C2%B5%C4%2Bmemcached%2B%BF%AA%B7%A2
Memcached的分布式缓存机制及相关解决 方案请阅读以下网址及相关文章:
http://tech.idv2.com/2008/07/24/memcached-004/

分享到:
评论

相关推荐

    facebook技术架构.pdf

    facebook技术架构

    facebook技术架构.zip

    facebook技术架构.zip

    Facebook 网站架构总结

    Facebook是一个社会化网络站点,它于2004年2月4日上线。每个用户在facebook上有自己的档案和...虽然目前在国内无法访问facebook,但其强悍的技术架构还是值得我们去研究分析和总结的,或许我们可以从中得到一点启发。

    FaceBook架构设计

    你的数据结构⋯⋯”信息架构师坚信,处于大多数系统核心的是数据,而不是算法。随 着Web的兴起,用户产生和消费的数据比以往更加推动了信息技术的使用。Web用户不 会去接触QuickSort(快速排序)。他们会访问一个...

    知名互联网公司网站架构图

    ,YouTube,MySpace,Twitter,国内如优酷网等大型网站的技术架构(本文重点分析优酷网的技术架构),以飨读者。本文着重凸显每一幅图的精彩之处与其背后含义,而图的说明性文字则从简从略。ok,好好享受此

    云计算系统架构文档 汇总上

    云计算系统架构文档 上 DevOps 从云端到地面 熊节 pdf DevOps 让持续交付成为可能 乔梁 pdf eBay技术平台:掌控十亿级交易数据 Tony Ng pdf Facebook大数据实时分析案例分享 Uri pdf Java EE 7 平台:应云而生 ...

    一线头部互联网公司技术架构设计资料合集.zip

    Google、Facebook、eBay、Amazon、阿里、百度、腾讯等头部互联网公司的技术架构设计方案合集

    中外著名互联网公司架构设计

    著名网站架构设计(包括Facebook Google Amazon 共计123篇) 互联网公司技术架构系列资料-新浪.百度.腾讯.淘宝

    国外技术干货:facebook-architecture.zip

    国外技术干货:facebook_architecture.zip

    云端高性能技术架构浅析

    通过查阅资料,了解现有大型网站的技术架构,发现目前常用的技术有分层、缓存、负载均衡、数据库性能优化,分布式系统等等。接下类分别对这些技术进行简单介绍。无论OSI的7层网络结构,还是计算机底层硬件与上层软件...

    国外技术干货:facebook-performance-caching-dc.zip

    国外技术干货:facebook_performance_caching-dc.zip

    Facebook利用人工智能技术创建出全球最详细的非洲人口密度图.pdf

    Facebook利用人工智能技术创建出全球最详细的非洲人口密度图.pdf

    大型网站的架构设计图分享

    ,YouTube,MySpace,Twitter,国内如优酷网等大型网站的技术架构(本文重点分析优酷网的技术架构),以飨读者。本文着重凸显每一幅图的精彩之处与其背后含义,而图的说明性文字则从简从略。ok,好好享受此

    Hadoop技术内幕:深入解析YARN架构设计与实现原理

    全书共四部分13 章:第一部分(第1~2 章)主要介绍了如何获取、阅读和调试Hadoop 的源代码,以及YARN 的设计思想、基本架构和工作流程;第二部分(第3~7 章)结合源代码详细剖析和讲解了YARN 的第三方开源库、底层...

    云计算的体系架构.doc

    Douglas Gourlay 云计算指的是一个大的宏图,基本上说,就是让用户透过 Internet 访问技术服务,现在,我每次登陆 Facebook 或搜索航班,事实上都是在使用云计算。 Praising Gaw 云计算就是新的 Web2.0,一种既有...

    从上百幅架构图中学大型网站建设经验

    ,YouTube,MySpace,Twitter,国内如优酷网等大型网站的技术架构(本文重点分析优酷网的技术架构),以飨读者。本文着重凸显每一幅图的精彩之处与其背后含义,而图的说明性文字则从简从略。ok,好好享受此

    meta(原facebook)开源无限token大模型-MEGALODON

    MEGALODON 继承了 MEGA(带有门控注意力的指数移动平均)的架构,并进一步引入了多种技术组件来提高其能力和稳定性,包括复数指数移动平均(CEMA)、时间步归一化层、归一化注意力机制和具有两个特征的预归一化(pre...

Global site tag (gtag.js) - Google Analytics