Facebook最伟大的技术成就有哪些?

标签: 硅谷 前沿 | 发表时间:2013-01-09 16:36 | 作者:陈粲然 Ray
出处:http://www.pingwest.com

图片来自网络

我在Quora上看到一个热门提问:“ What have been Facebook’s greatest technical accomplishments?

前Facebook基础架构软件部门工程总监Robert Johnson给出的回答得到了大多数人的认同:“我们搭建了使用Memcached缓存的MySQL数据集群”。在一年前他离开Facebook时,这个集群已能面向超过一万亿个对象,每秒处理超过十亿个响应。

他详细说明了在这个工作中克服的一些挑战:

数据中心在时间上的高度一致性。这使得用户对facebook的操作在全世界的服务器上都是没有时延的,例如不会出现在你删除了某些内容后,这些数据仍会在其他的服务器上存在一小段时间的情况。对这个话题感兴趣的同学可移步Wired上一篇名为 《透视Google资料库全球同步的秘密》的文章,文中详细阐述了Google在这方面的举措。

流量控制。为防止高峰期数据传输拥堵和数据丢失而对请求发送端设计的流量控制体系。

如何设计分布式缓存?分布式设计能够让系统并行地读取缓存,提高效率。在这个基础上,Facebook的系统根据任务量的不同选择不同的缓存形式,以节省空间并进一步提高读取速度。

容灾措施 在少数服务器无法响应时,随机地向不同的服务器发送请求直到收到响应为止,是个不错的做法。但如果有大量的服务器无法响应,这种做法会令剩下的服务器承载巨大的负荷。所以系统设计者会让这些服务器在过载前就停止对用户请求的响应,这种做法虽然会让用户感到不适,但做对于保证数据中心的稳定是至关重要的。很多人在双十一遇到淘宝/支付宝/银行页面无法响应也是采用了这个机制。

调度与监控。当服务器并行协作处理某项事件时,服务器之间能相互监控彼此的状况。

他还提到了Facebook针对Memcached和MySQL的改进。

其他得票数较高的答案中提到的技术有:

HipHop for PHP 这个项目旨在加速和优化PHP。它目前已支撑了大部分Facebook的Web流量。由于HipHop,Facebook Web服务器上的CPU使用平均减少了50%,从而大大减少了服务器的需求。

HayStack Fackbook用于存储照片的系统,其存储照片的数量在千亿数量级。

Scribe Facebook开源的日志收集系统,它能够从各种日志源上收集日志,存储到一个中央存储系统上,以便于进行集中统计分析处理。

The Graph API 该API提供了对人员、相册、事件等Facebook对象以及这些对象之间诸如朋友、标签、分享内容等链接之间的访问,通过一个统一而稳定URI来访问其表象。

我们知道,得票最高的“使用Memcached缓存的MySQL数据库集群”不仅是Facebook的巨大成就,Google、Amazon等公司都耗费大量精力在为“数据库集群”寻找最高效的解决方案,它并不是一个看上去“酷”和“新”的技术理念,但在产品背后,它支撑着功能,影响着体验。

这也是PingWest所认同的,作为一个具备全球视野、有洞见的在线科技媒体,我们不仅报道科技创业资讯和趋势,同时着力挖掘最有价值的产品背后的技术、设计方法与思考。

相关 [facebook 技术] 推荐:

解剖 Facebook 【5】说到 Facebook 的技术,很多人摇头

- Frank - 爱范儿 · Beats of Bits
Facebook CEO,扎克伯格(Mark Zuckerberg),这几天低调访华. 今天(2010/12/20)去位于北京上地的百度总部,拜会百度 CEO 李彦宏,并共进午餐. 说到 Facebook 的技术,很多人摇头,认为 Facebook 技术无亮点. Facebook CEO 拜会百度老总李彦宏,2010/12/20.

生物技术的Facebook在哪里?

- - 生物技术创新创业
这几天华尔街报上,或者其它有关金融的广播,报刊都大幅报道Facebook将要上市的故事,市值可能一千亿美金. 有人说它不值那么多钱,按照这个估价,Facebook需要在今后十年每年增长30%. 先不去管它是否值,我更关心的是 象这样的公司为什么在生物技术行业不常见. 喊得很响的罗氏收购Illumina的案例也不过六七十亿,为什么有这么大的差异.

名站技术分析 — facebook奇特的页面加载技术

- Hui Hui - 视野
没事使用代理上了下facebook,注册进入个人首页后,习惯性的查看源代码,发现了1个很有意思的现象,首页内容不少,但源代码中HTML的代码却很少,但去多出了很多段的javascript代码,这些js代码都是用于动态生成html的,facebook为什么需要这样做了. 先看看首页查看的源代码,因为源代码比较大,所以把图片压缩了下,可能看不太清楚,只需要注意图中红色是html代码,其余黑压压一片的就全部是JS代码:.

Facebook 与微软新合作:PhotoDNA 技术识别色情照片

- loverty - LiveSino - LiveSide 中文版
纽约时报报导称,微软与 Facebook 周四宣布了一项新的合作. 社交巨头 Facebook 将利用微软研究院的 PhotoDNA 技术来识别在线照片中的儿童色情照片,即便是修改或裁剪过的. 去年,微软已经在其 Windows Live SkyDrive、Hotmail、Bing 等服务中测试了 PhotoDNA 技术.

Facebook开始采用WebSense安全浏览保护技术

- bill - cnBeta.COM
Facebook今天宣布使用Websense ThreatSeeker云服务,这有助于保护用户在点击社交网站上人们共享的链接时不背恶意软件所滋扰. 这个黑名单服务托管了大量恶意软件地址的样本,在发现用户点击的Facebook链接可能包含恶意软件时会自动阻止并跳出警示要求注意.

Facebook工程发布技术的幕后故事

- - 博客 - 伯乐在线
Facebook的总部位于美国加州的Menlo Park,这里曾经是Sun公司的驻地. 在其入口处,一个“赞”的标志牌(“赞”就是一个竖大拇指的姿势)赫然树立. 当我最近造访Facebook园区时,一群年轻人正在这个标志牌前,争先恐后地用手机拍照留念. 多亏了大卫·芬奇的电影《社交网络》,全球数以百万计的影迷都知晓了这么一个疯狂的故事,Facebook从一个大学宿舍里创建的试验项目,发展成了世界第二大互联网站点.

Facebook最伟大的技术成就有哪些?

- - PingWest
我在Quora上看到一个热门提问:“ What have been Facebook’s greatest technical accomplishments?”. 前Facebook基础架构软件部门工程总监Robert Johnson给出的回答得到了大多数人的认同:“我们搭建了使用Memcached缓存的MySQL数据集群”.

Facebook技术总监:如何管理10亿用户的数据?

- - 互联网的那点事
2012年1月28日消息,Facebook用户数量,已经突破10亿大关. Facebook在发展期间,所实现的技术成就,成为了IT行业工程师关注的话题. 究竟Facebook取得了哪些技术成就呢. Facebook前工程部门总监,在问答网站Quora上,对这一问题作出回答. 无论对于IT行业的投资者还是使用者,这些回答都有着指导意义.

Facebook大数据技术架构的演进路线

- - 互联网旁观者
    Facebook一直是大数据技术最积极的应用者,因为它拥有的数据量极其巨大,一份资料显示2011年它拥有的压缩数据已经有25PB,未压缩数据150PB,每天产生的未压缩的新数据有400TB. 在Facebook,大数据技术被广泛应用在广告、新闻源、消息/聊天、搜索、站点安全、特定分析、报告等各个领域.

超级强震:Facebook开源服务器和数据中心核心技术

- Ivan - 弯曲评论
今天世界最受关注的新闻大概已经从利比亚内战转移到了日本再次发生强震. 而对于信息产业而言,美国发生的一条新闻恐怕不亚于一次地震. Facebook北京时间今天凌晨在其总部举行发布会,宣布启动名为The Open Compute Project的新项目(http://opencompute.org/servers/)(http://opencompute.org/datacenters/),将其底层服务器和数据中心技术开源.