人才
学疏浅,提出这个问题只是为了抛砖引玉,希望大家能在自己擅长的领域里对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的编译执行如下图所示:
而Facebook的缓存方案如下图所示:
(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技术架构
facebook技术架构.zip
Facebook是一个社会化网络站点,它于2004年2月4日上线。每个用户在facebook上有自己的档案和...虽然目前在国内无法访问facebook,但其强悍的技术架构还是值得我们去研究分析和总结的,或许我们可以从中得到一点启发。
你的数据结构⋯⋯”信息架构师坚信,处于大多数系统核心的是数据,而不是算法。随 着Web的兴起,用户产生和消费的数据比以往更加推动了信息技术的使用。Web用户不 会去接触QuickSort(快速排序)。他们会访问一个...
,YouTube,MySpace,Twitter,国内如优酷网等大型网站的技术架构(本文重点分析优酷网的技术架构),以飨读者。本文着重凸显每一幅图的精彩之处与其背后含义,而图的说明性文字则从简从略。ok,好好享受此
云计算系统架构文档 上 DevOps 从云端到地面 熊节 pdf DevOps 让持续交付成为可能 乔梁 pdf eBay技术平台:掌控十亿级交易数据 Tony Ng pdf Facebook大数据实时分析案例分享 Uri pdf Java EE 7 平台:应云而生 ...
Google、Facebook、eBay、Amazon、阿里、百度、腾讯等头部互联网公司的技术架构设计方案合集
著名网站架构设计(包括Facebook Google Amazon 共计123篇) 互联网公司技术架构系列资料-新浪.百度.腾讯.淘宝
国外技术干货:facebook_architecture.zip
通过查阅资料,了解现有大型网站的技术架构,发现目前常用的技术有分层、缓存、负载均衡、数据库性能优化,分布式系统等等。接下类分别对这些技术进行简单介绍。无论OSI的7层网络结构,还是计算机底层硬件与上层软件...
国外技术干货:facebook_performance_caching-dc.zip
Facebook利用人工智能技术创建出全球最详细的非洲人口密度图.pdf
,YouTube,MySpace,Twitter,国内如优酷网等大型网站的技术架构(本文重点分析优酷网的技术架构),以飨读者。本文着重凸显每一幅图的精彩之处与其背后含义,而图的说明性文字则从简从略。ok,好好享受此
全书共四部分13 章:第一部分(第1~2 章)主要介绍了如何获取、阅读和调试Hadoop 的源代码,以及YARN 的设计思想、基本架构和工作流程;第二部分(第3~7 章)结合源代码详细剖析和讲解了YARN 的第三方开源库、底层...
Douglas Gourlay 云计算指的是一个大的宏图,基本上说,就是让用户透过 Internet 访问技术服务,现在,我每次登陆 Facebook 或搜索航班,事实上都是在使用云计算。 Praising Gaw 云计算就是新的 Web2.0,一种既有...
,YouTube,MySpace,Twitter,国内如优酷网等大型网站的技术架构(本文重点分析优酷网的技术架构),以飨读者。本文着重凸显每一幅图的精彩之处与其背后含义,而图的说明性文字则从简从略。ok,好好享受此
MEGALODON 继承了 MEGA(带有门控注意力的指数移动平均)的架构,并进一步引入了多种技术组件来提高其能力和稳定性,包括复数指数移动平均(CEMA)、时间步归一化层、归一化注意力机制和具有两个特征的预归一化(pre...