facebook与人人网的网站后台架构相比

要问时下什么项目标站点人气最旺?答案当属SNS网站。短短几年的大运,SNS便快速建立了Web
2.0主旨的地方。用户的增长量之快更是让人咂舌,而Facebook访问量第一次抢先Google的音信也令人觉着SNS的将来不可限量。当然,面对巨大且繁琐的数据量、面对应用的高复杂度及用户体验,大型SNS站点的后台架构成为了如今受关注的重要之一。

在接连报道了《世界最大的PHP站点
Facebook后台技术探秘》及《专访人人网黄晶:SNS网站后台架构探秘》之后,除了见到SNS网站后台的新鲜风光之外,大家也看看了作为国内外SNS站点的象征,非死不可和众人网在后台技术运用上仍然有很多不一的地点,当然,造成这种不同的来由有过多。这里我们将比较Facebook和人人网的后台架构,在找出这个差其余还要,大家也可以见到,跟外国相相比,国内SNS网站的后台技术差异还有多大?差别在什么地方?

后台语言的拔取

作为一个重型站点,后台语言的选料表示不同的架构路线、以及不同的支付框架。考虑到SNS网站后台架构的繁杂,可采用的语言并不多,Facebook作为一个重型LAMP网站,选用了PHP;而人人网则应用Java。当然,PHP和Java各具优势,PHP+MySQL的黄金搭档被过多站点所采用;在评头论足Java的优势时,黄晶先生商议,“而当项目渐渐复杂的时候,Java则能因而其赏心悦目的OO特性,保持十分好的模块性,也有益于网站重构。”

后台语言的取舍有为数不少元素,选拔哪个种类语言也并不根本,关键是要符合相应的生育环境,这里比较PHP与Java的高低并从未太大的意义。但要表明的是,每种语言都有它的劣势,怎么着进展实用的优化才是开发者们需要考虑的,就像非死不可为PHP量身打造了HipHop这样。

数据库

在后台架构中,数据库从来是大家关心的重大。曾经日壮山河的关系型数据库,在NoSQL运动下,仿佛显得日薄西山,这句话用在SNS站点中再贴切但是了。没错,由于SNS站点的高复杂性,其对数据库的要求异常高,高性能、可增添性以及可用性,缺一不可。

Facebook并不是一个传统意义上的LAMP站点,MySQL也首要作为一个Key-value的持久性存储使用,而它的储存系统则是
NoSQL运动的一个关键组成部分——Cassandra,它的特点也多亏SNS站点所急需的,尽管不少人觉着NoSQL还不够成熟,缺少可靠性,但
非死不可的成功却是一个如实的例证。

图片 1
非死不可数据库架构图,请点击原图查看

透过黄晶先生的牵线大家掌握到,其实人人网也不只是在运用MySQL。Nuclear是众人网团队自主研发的分布式KV存储系统,近年来一度在日益的试用。关于Nuclear的详实介绍,可以参见人人网UGC团队博客的牵线:http://ugc.renren.com/2010/01/21/ugc-nuclear-guide-use/

从中大家不难看出,关系型数据库已经不可能满意大型SNS站点的需求,在外国大胆利用NoSQL的同时(包括非死不可、Twitter
等),国内对NoSQL的采用依旧显得相比较谨慎,技术水平的差别,在这点上实在具有映现。从深刻角度讲,特别是在SNS领域,NoSQL必将会逐渐替代传统的关系型数据库。

缓存

缓存技术在后台架构中扮演着紧要的角色。对于SNS站点来说,仅仅依赖数据库、Web服务器等软件的我缓存机制是纯属不可能满足要求的。
Memcached是人人网和Facebook都用到的一个分布式内存缓存系统,其已变成互联网最有信誉的软件之一了。当然,缓存的手法是丰富多彩的,仅仅保证通常后台的安定运转也是不够的。面对部分突发事件,缓存机制更为一发关键,特别是在数据库服务器与Web服务器上。

图表存储架构

图表会给Web服务器带来不小的压力,特别是非死不可处理的图片量(每个月超过30亿张相片被上传),异常震惊!对此,Facebook专门开发了一套图片存储架构——Haystack。

对待于非死不可,人人网并没有一套完整的图样存储架构系列。当然,作为人人网的用户,可以感觉到到展开上传图片等一些操作,仍然很通畅的。表达以近来的人们网图片处理技术,可以满意当下用户的要求,以及后台的流利运行。但架构总要着眼于将来,开发一套完整的、高效的架构体系,才是极品的缓解方案。

SNS后台技术将来发展趋势

相相比之下于任何类其余站点,SNS网站后台架构更为复杂。关于SNS后台技术将来发展趋势问题,黄晶也意味着,鉴于SNS网站的有的业务特点,在后台技术中,人人网最关怀的依旧是高性能,可扩张性,高可用性,所以SNS网站架构中特地需要一个能灵活应对业务转移的一套健壮的分布式系统。

在对照过人人网与非死不可的后台架构之后,我们不难看出,除了全体架构的连串性能之外,对于其中每个细节的把握,更是大家国内架构师们急需细致揣摩的,这同时也需要大家的技术人员提高我力量、敢于利用先进的技艺及利用、更要勇于革新。

原稿来自:http://developer.51cto.com/art/201009/226825.htm

网站地图xml地图