Facebook ── 采用开源技术的美国照片社交 SNS网络服务网站
Facebook 是美国的一个社交网络服务网站 ,于 2004 年 02 月 04 日上线。主要创始人为美国人 "马克·扎克伯格"。Facebook 是世界排名领先的照片分享站点,截至 2013 年 11 月每天上传约 3.5 亿张照片。截至 2012 年 05 月,Facebook 拥有约 9 亿用户。2016 年 06 月 08 日《2016 年 BrandZ 全球最具价值品牌百强榜》公布,Facebook 排第 5。
网站的名字 Facebook 来自传统纸质 “花名册”。通常,美国大学和预科学校会把这种印有学校社区所有成员的 “花名册”,发放给新来的学生和教职员工,帮助大家认识学校其他成员。
Facebook 创办人马克·扎克伯格 (Mark Zuckerberg) 毕业于阿兹利高中,最初,网站的注册仅限于哈佛学院学生。在哈佛大学时,2004 年 02 月在 Andrew McCollum 和 Eduardo Saverin 的支持下,马克·扎克伯格 (Mark Zuckerberg) 创办 “The Facebook”。当月月底,半数以上的哈佛本科生都已成为其注册用户。之后,Dustin Moskovitz 和 Chris Hughes 加入,帮助网站推广。2004 年 04 月,扩展到包括波士顿学院 Boston College、波士顿大学 Boston University、麻省理工学院、特福茨大学 Tufts,以及罗切斯特大学 Rochester、斯坦福 Stanford、纽约大学 NYU、西北大学等所有常春藤院校及其他一些学校。之后的一个月,Zuckerberg,McCollum 和 Moskovitz 搬到加利福尼亚州的Palo Alto 市 (斯坦福大学所在地,硅谷的发源地),在 Adam D'Angelo 和 Sean Parker (著名第一代 P2P 音乐分享网站 Napster 创始人) 的帮助下继续高速发展。2004 年 09 月,另一个社会化网络站点 ConnectU 的合伙人 Divya Narendra,Cameron Winklevoss 和 Tyler Winlevoss 把 Facebook 告上法庭。他们称马克·扎克伯格 (Mark Zuckerberg) 非法使用了,他们在让他帮助建站时开发的源代码。与此同时,Facebook 获得了 PayPal 创始人 Peter Thiel 提供的约五十万美金的天使投资。到 2004 年 12 月,Facebook 用户数超过 100 万。
2005 年 09 月 02 日马克·扎克伯格 (Mark Zuckerberg) 推出 Facebook 高中版,并称这是最合乎逻辑的下一步。虽然最初,这被定位为需要邀请才能加入的社区,仅15 天后,大部分高中网络无需密码也可加入(虽然 Facebook 账户还是需要的)。到 2005 年 10 月份,Facebook 已扩展到大部分美国和加拿大规模更小的大学和学院。除此之外,还扩展到英国的 21 所大学、墨西哥的 ITESM、波多黎各大学、及维京群岛大学。2005 年 12 月 11 日,澳大利亚和新西兰的大学也加入了 Facebook,至此,Facebook 总共有超过 2000 所大学和高中。最终,在全球范围内只要有一个大学后缀电子邮箱的人,如 .edu,.ac,.uk 等都可注册 Facebook。
2006 年 02 月 27 日,应用户要求 Facebook 允许大学生把高中生加为他们的朋友。2006 年 05 月 Facebook扩展到印度理工学院、印度管理学院。2006 年 08 月 Facebook 又加入了德国大学和以色列高中。2006 年 08 月 22 日 Facebook 推出 Facebook 记事本功能,一个可以加标签、嵌入图片、评论的博客服务,同时用户可从其他博客服务中导入。
2006 年 09 月 11 日起,任何用户输入有效电子邮件地址和自己的年龄段,即可加入。
2007 年 05 月 24 日 Facebook 推出应用编程接口 (API),这被称为 Facebook 开放平台 (FacebookPlatform)。通过这个 API,第 3 方软件开发者可开发在 Facebook 网站上运行的应用程序 App。
2006 年 06 月 Faceboo k推出简体中文版本,该页面由志愿者用户免费翻译而成,向中文用户开放,同时 Facebook 还向中国香港和中国台湾用户推出繁体中文版本。
2009 年以来,Facebook 一直被中国屏蔽,其被禁的原因有社会和政治等各方面的因素;但 Facebook 也从未间断与中国科技企业界的联系,期望通过投资中国科技企业等方式获得中国政府的开闸。
2010 年中国社会科学院在京发布的《中国新媒体发展报告(2010)》指出,社交网站的病毒式营销手段、泄露个人隐私以及政治、军事、商业机密信息等问题也引发质疑,Facebook 等社交网站被西方国家情报机构所利用,其特殊的政治功能则让人心生恐惧。
2010 年 02 月 02 日,Facebook 赶超雅虎成为全球第三大网站,与微软、谷歌领衔前 3。
截至 2010 年 04 月,据 comScore 数据显示,谷歌是美国最大网站,覆盖 81% 美国人口,Facebook 覆盖 53% 美国人口,落后于谷歌、雅虎、微软。而另一家互联网流量监测机构Hitwise 的数据显示,Facebook 访问量在美国网站总访问量中所占比例为 7.07%,位居美国第一,其次为谷歌,访问量所占比例为 7.03%。雅虎邮箱以 3.8% 排名第三,雅虎以 3.67% 位居第四。如将雅虎邮箱与雅虎网站合并在一起,雅虎将成为访问量最大的网站。视频网站 YouTube 以 2.14% 的比例位列第五。用户在网站停留的平均时长也超雅虎,Facebook 为每月 274 分钟。
2011 年 05 月 03 日维基解密创始人 "阿桑奇" 接受 Russia Today 采访,称 Facebook 是有史以来最令人震惊的大型间谍机器。"阿桑奇" 在采访中揭密,一些情报机构通常会设立或控制一个门户网站,然后通过收集该网站用户的个人信息和相关内容来进行情报提炼。同时,"阿桑奇" 警告所有 Facebook 用户,每当您新添加一位好友时,您正免费为美国情报机构提供服务,为他们的电子数据库添砖加瓦。
2012 年 04 月 09 日宣布,Facebook 以 10 亿美元的现金和股票收购照片共享应用服务商 Instagram 公司。免费的 Instagram 应用程序是 Instagram 公司惟一的产品,这一移动客户端应用程序于 2010 年 10 月在苹果 App 商店中上线。
2014 年 03 月 26 日 Facebook 宣布与虚拟现实设备生产商 Oculus VR 达成收购协议,交易金额约 20 亿美元。
2014 年 10 月 03 日欧盟反垄断监管机构正式批准 Facebook 收购移动消息初创公司 WhatsApp 的交易。这项交易的价格为 190 亿美元,成为 Facebook 公司历史上规模最大的收购交易。
2014 年 12 月 17 日 Facebook 开价超 30 亿美元收购 Snapchat。
2015 年 03 月 Facebook 发布物联网开发者工具,向 “物联图谱” 转变。启用 iPhone 版 Facebook 应用,距这项技术的桌面平台发布已过去将近两年。用户可借助该功能搜索好友的帖子,轻松找到结婚或旅行照片。
2015 年 08 月 28 日 Facebook CEO 马克·扎克伯格 (Mark Zuckerberg) 在个人 Facebook 帐号上发布消息称,Facebook 本周一的单日用户数突破 10 亿。
2016 年 06 月 04 日 Facebook 关闭其移动网页版聊天功能。打开 Facebook 的移动网页版,就会发现一条消息:“您的聊天功能被转移到 Messenger 上”,这让许多为了避免 Messenger 霸屏的人们始料未及。
核心理念
01、Web2.0 Facebook 作为典型 SNS 网站发展案例,其成功与 SNS 顺应当今网络潮流不无关系。在 Web2.0 时代,网民已经可以在相当大的自主空间内将个人信息发布开来而不受传统封闭式门户的约束,信息生产与信息传播的主动权在一定程度上回归大众,信息传播的内容多样性、互动便捷性与个性化订制功能大大增强,以个人为中心的 web2.0 应用已经摆脱少数商业精英力量的控制,自媒体促成了草根阶层的迅速崛起,推动着互联网朝着亲和开放的方向发展,显示出一种全新的传播生态。
02、六度分隔 SNS 网站的理论模型是哈佛大学著名心理学教授 Stanley Milgram (1933 年-1984 年),于 1967 年所创立的六度分隔理论。
该理论的核心思想:你和任何一个陌生人之间所间隔的人不会超过 6 个,也就是说,最多通过 6 个人你就能够认识任何一个陌生人。按照六度分隔理论,每个个体的社交圈都不断放大,最后成为一个大型网络,这是社会性网络(Social Networking) 的早期理解。后来有人根据这种理论,创立了面向社会性网络的互联网服务,通过熟人的熟人来进行网络社交拓展。
03、主我与客我 美国学者米德在研究人的自我意识与内省活动之际,发现:自我可分解为相互联系和相互作用的 2 个方面。
一方面是作为意志和行为主体的主我,它通过个人对事物的行为和反应具体表现出来;另一方面是作为他人的社会评价和社会期待之代表的客我,它是自我意识的社会关系的体现,人的思维内省活动就是一个主我和客我之间双向互动的传播过程。
根据这个理论,可说明人在很大程度上是活在他人的判断之下的。人们渴望认识客我,渴望得到他人的肯定,Facebook 这样的 SNS 网站就为人们提供了这种需求。
04、公开页面源代码 在 Web2.0 时代,通过强大的搜索与订阅功能,网民们已没有必要为取得有用的信息反复辗转于各种类型的 BBS、博客或门户网站。
用户已越来越讨厌无处不在的显示广告,对没有经过任何过滤的海量信息已越来越感觉迟钝和麻木。Facebook 网站充分把握住这一趋势率先公开自己的页面源代码,让各种类型的互联网内容提供商开发出嵌入。
主要技术
01、开源许可 Facebook源代码大部分采用Common Public Attribution License (CPAL),除 FBML parser 部分采用的是 Mozilla Public License (MPL)。
Facebook 现拥有超过 24000 个应用,世界各地有超过 40 万开发者在为其开发应用程序,每天都有 140 个左右的应用上线。
02、域模型 用 UML 类图的形式,显示 Facebook 系统所管理的信息。它提炼出了 Facebook 数据库中的实体、关系、字段。
03、技术构架 Facebook 采用 LAMP (Linux、Apache、MySQL、PHP) 技术构架。
Facebook 从头到脚都是开源软件, 几乎所有服务器都运行开源软件,Web 服务器是 Linux、Apache 和 PHP,数据库是 MySQL,使用 memcached 保证网站快速反应。一些后台 App 采用 Python、Perl 和 Java,及 gcc、Boost。程序员用 Subversion 和 git 进行代码管理。
04、Memcached Memcached 是当今互联网上最著名的软件之一。它是一个分布式内存缓存系统,Facebook (包括其他很多网站) 用它作为 Web 服务器和 MySQL 服务器之间的缓存层 (因为,数据库访问相对比较慢)。多年来,Facebook 已对 Memcached 和它的周边软件进行了很多优化,比如对 network stack 的优化。
Facebook 每时每刻都有数 10TB 的数据,缓存在数千台 Memcached 服务器上。Facebook 可能是世界上最大的 Memcached 服务器集群了。
05、HipHop for PHP
作为脚本语言和本地代码相比,脚本语言运行要慢一些。HipHop 可将 PHP 转换成 C++ 代码,然后再进行编译,这样可以获得更好的性能。由于 Facebook 严重依赖 PHP,所以,通过 HipHop 可让 Web 服务器的性能得以提高
刚开始,一个 3 人工程师小团队在 Facebook 开发 HipHop。
06、Haystack
Haystack 是 Facebook 的高性能图片存取系统;严格来说,是一个对象存储系统,因此,它并不仅限于存储照片。它要管理超过 200 亿张上传照片,且每张照片要被保存为 4 种不同的分辨率,因此有超过 800 亿张照片。
Haystack 要能处理上亿照片,且性能也至关重要。正如我们前面提到的,Facebook 每秒钟要处理约 120 万张照片,且不包括 CDN 上的,这是一个惊人的数字。
07、BigPipe BigPipe 是 Facebook 开发的的动态网页处理系统。为获得最佳性能,Facebook 用它来分块处理每个网页(称为 “pagelets”)。
譬如:聊天窗口,新闻 Feed 等,是分块进行传输的。这些 pagelets 可并行工作,不仅可提高性能,即使其中一部分失效或中断,也不会影响用户的正常访问。
08、Cassandra Cassandra 是一个可避免单点故障的分布式存储系统。Cassandra 是 NoSQL 运动的一个典范,已开放源代码,Cassandra 甚至成为一个 Apache 项目。Facebook 在收件箱搜索中使用它。
除 Facebook 外,其他网站也在使用 Cassandra,譬如:Digg。
09、Scribe Scribe 是一个灵活日志系统,Facebook 在内部有大量使用它。Scribe 能够处理 Facebook 这样超大规模的日志记录,且能自动处理新生成的日志类别。
10、Hadoop and Hive Hadoop 是一个开源的 map-reduce 实现,它可轻松处理海量数据。Facebook 用 Hadoop 来进行数据分析,我们都知道 Facebook 有巨量的数据。
Hive 起源于 Facebook,它使得针对 Hadoop 进行 SQL 查询成为可能,从而使非程序员也可以方便采用。注:Hive 是基于 Hadoop 的个数据仓库工具,可将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可将 SQL 语句转换为 MapReduce 任务运行。
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。
|