引用说明:原文来自于http://developer.51cto.com/art/201009/226825.htm ,为了方便本人阅读,文本格式略有调整。
【51CTO观察】要问时下什么类型的站点人气最旺?答案当属SNS网站。短短几年的时间,SNS便迅速确立了Web 2.0核心的地位。用户的增长量之快更是让人咂舌,而Facebook访问量首次超越Google的消息也让人觉得SNS的前途不可限量。当然,面对庞大且繁琐的数据量、面对应用的高复杂度及用户体验,大型SNS站点的后台架构成为了51CTO开发频道近期关注的重点之一。
在连续报道了《世界最大的PHP站点 Facebook后台技术探秘》及《专访人人网黄晶:SNS网站后台架构探秘》之后,除了看到SNS网站后台的独特风景之外,我们也看到了作为国内外SNS站点的代表,Facebook和人人网在后台技术应用上还是有很多不同的地方,当然,造成这种不同的原因有很多。这里我们将对比Facebook和人人网的后台架构,在找出这些差异的同时,我们也能够看出,跟国外相比,国内SNS网站的后台技术差距还有多大?差距在哪里?
后台语言的选择
作为一个大型站点,后台语言的选择意味着不同的架构路线、以及不同的开发框架。考虑到SNS网站后台架构的复杂性,可选择的语言并不多,Facebook作为一个大型LAMP网站,选择了PHP;而人人网则使用Java。当然,PHP和Java各具优势,PHP+MySQL的黄金搭档被无数站点所使用;在评价Java的优势时,黄晶老师说道,“而当项目日渐复杂的时候,Java则能通过其良好的OO特性,保持非常好的模块性,也有益于网站重构。”
后台语言的选择有很多因素,选择哪种语言也并不重要,关键是要适合相应的生产环境,这里比较PHP与Java的优劣并没有太大的意义。但要说明的是,每种语言都有它的劣势,如何进行有效的优化才是开发者们需要思考的,就像Facebook为PHP量身打造了HipHop那样。
数据库
在后台架构中,数据库一直是我们关心的重点。曾经日壮山河的关系型数据库,在NoSQL运动下,仿佛显得日薄西山,这句话用在SNS站点中再合适不过了。没错,由于SNS站点的高复杂性,其对数据库的要求非常高,高性能、可扩展性以及可用性,缺一不可。
Facebook并不是一个传统意义上的LAMP站点,MySQL也主要作为一个Key-value的持久性存储使用,而它的存储系统则是NoSQL运动的一个重要组成部分——Cassandra,它的特点也正是SNS站点所需求的,尽管很多人认为NoSQL还不够成熟,缺乏可靠性,但Facebook的成功却是一个活生生的例子。

Facebook数据库架构图,请点击原图查看
通过黄晶老师的介绍我们了解到,其实人人网也不只是在使用MySQL。Nuclear是人人网团队自主研发的分布式KV存储系统,目前已经在逐步的试用。关于Nuclear的详细介绍,可以参考人人网UGC团队博客的介绍:http://ugc.renren.com/2010/01/21/ugc-nuclear-guide-use/。
从中我们不难看出,关系型数据库已经不能满足大型SNS站点的需求,在外国大胆使用NoSQL的同时(包括Facebook、Twitter等),国内对NoSQL的使用还是显得比较谨慎,技术水平的差距,在这点上确实有所体现。从长远角度讲,特别是在SNS领域,NoSQL必将会逐步代替传统的关系型数据库。
缓存
缓存技术在后台架构中扮演着重要的角色。对于SNS站点来说,仅仅依靠数据库、Web服务器等软件的自身缓存机制是绝对不能满足要求的。Memcached是人人网和Facebook都用到的一个分布式内存缓存系统,其已成为互联网最有名气的软件之一了。当然,缓存的手段是多种多样的,仅仅保证日常后台的稳定运行也是不够的。面对一些突发事件,缓存机制更是尤为重要,特别是在数据库服务器与Web服务器上。
图片存储架构
图片会给Web服务器带来不小的压力,特别是Facebook处理的图片量(每个月超过30亿张照片被上传),非常惊人!对此,Facebook专门开发了一套图片存储架构——Haystack。关于Haystack的详细介绍,请参考:Facebook图片存储架构技术全解析。
相比于Facebook,人人网并没有一套完整的图片存储架构体系。当然,作为人人网的用户,能够感觉到进行上传图片等一些操作,还是很流畅的。说明以目前的人人网图片处理技术,能够满足目前用户的需求,以及后台的流畅运行。但架构总要着眼于未来,开发一套完整的、高效的架构体系,才是最佳的解决方案。
SNS后台技术未来发展趋势
相比于其他类型的站点,SNS网站后台架构更为复杂。关于SNS后台技术未来发展趋势问题,黄晶也表示,鉴于SNS网站的一些业务特点,在后台技术中,人人网最关注的仍然是高性能,可扩展性,高可用性,所以SNS网站架构中特别需要一个能灵活应对业务变化的一套健壮的分布式系统。
在对比过人人网与Facebook的后台架构之后,我们不难看出,除了整体架构的系统性能之外,对于其中每个细节的把握,更是我们国内架构师们需要仔细思考的,这同时也需要我们的技术人员提高自身能力、敢于使用先进的技术及应用、更要勇于创新。

- 大小: 288.3 KB
分享到:
相关推荐
国内外大型sns网站后台架构
### 国内外知名SNS开源系统介绍 #### SNS概述 SNS(Social Network Service),即社交网络服务,是一种旨在帮助人们建立社会性网络的互联网应用服务。SNS平台不仅促进了用户之间的交流与互动,还提供了多样化的...
《深入解析SNS网站架构》 社交网络服务(SNS)网站架构是构建大规模在线社区的关键,其设计需要兼顾性能、可扩展性和稳定性。本篇文章将围绕SNS网站架构的演变、核心技术和架构模式展开,探讨如何构建高效且灵活的...
### 大型SNS网站数据库设计精要 在构建大型社交网络服务(SNS)时,数据库设计是至关重要的环节,直接影响着系统的可扩展性、性能和成本效益。本文将深入探讨大型SNS网站数据库设计的关键要素,包括数据库选型、...
关于SNS游戏服务器、程序设计相关的架构设计,代码设计
经典,深刻的sns对比,发人深省,值得推荐
大型电商网站架构设计的原因可以分为三类:大型门户、SNS 网站和电商网站。电商网站具备以上两类的特点,比如产品详情可以采用 CDN,静态化,交互性高的需要采用 NOSQL 等技术。 二、电商网站需求 客户需求包括: ...
2.SNS网站,比如校内,开心网等;3.电商网站:比如阿里巴巴,京东商城,国美在线,汽车之家等。大型门户一般是新闻类信息,可以使用CDN,静态化等方式优化,开心网等交互性比较多,可能会引入更多的NOSQL,分布式...
本文将深入探讨Elgg的架构特点、安装流程以及如何利用它快速搭建属于自己的SNS网站。 ### Elgg简介 Elgg是一款基于PHP的开源社交网络平台,它提供了基础的用户系统、关系管理、内容发布等功能,并允许开发者通过...
一方面,由于国内外互联网环境、用户习惯和文化背景的差异,简单模仿国外模式的做法很难在国内取得成功。另一方面,国内SNS网站普遍缺乏创新,同质化严重,导致市场中难以形成有明显领导地位的网站。此外,国内网民...
具体地讨论以下问题: 1)SNS社区的三层产品架构: Profile;Relation;Content&App; 2)SNS三层产品架构之间的关联与相互依存; 3)关系链开放及NewsFeed,SNS的重要元素; 4)市场上SNS产品形态及商务模式;
#### 国内外SNS对比分析 1. **用户体验**:Facebook以其强大的功能和良好的用户体验在国内有着较高的用户基础,而Twitter则凭借独特的异步交流模式吸引了大量追求实时互动的用户。 2. **盈利模式**:国内外SNS平台...
在IT行业中,SNS(Social Networking Service)社交网站是用户互动和信息分享的重要平台,如开心网就是一个典型的例子。为了构建这样一个系统,通常会采用三层...对于大型社交网站来说,这样的架构设计是必不可少的。
解析SNS社区产品架构模型.doc
SNS(Social Networking Services,社交网络服务)网站建设方案的核心在于构建一个用户友好、互动性强的在线社区。该方案涉及到多个技术和功能模块,旨在提供丰富的用户体验和高效的运营维护。 首先,技术方案选择...
【标题】:“sns社交网站论文” 【描述】:“sns社交网站论文 有详细的配置sns社交网站论文 有详细的配置sns社交网站论文 有详细的配置” 【标签】:“sns” 【部分内容】: SNS(Social Networking Services)...
### 盘点中国SNS网站 #### 中国SNS网站概览 近年来,社交网络服务(Social Networking Service,简称SNS)在中国互联网市场迅速崛起,成为互联网应用中的重要组成部分。这些平台不仅改变了人们的社交方式,也为...
本文采用文献分析和个案研究的方法,通过对开心网成功应用病毒式营销进行推广的个案进行分析,结合病毒式营销的理论,得出一些适用于国内SNS网站进行病毒式营销推广的方法,以便使病毒式营销更好地为国内SNS网站推广...
SNS网站的未来是非常不确定的,国内的SNS网站大多数都是抄袭Facebook的模式,但是这种模式并不能保证成功。SNS网站的成功需要创新和独特的核心竞争力,而不是简单的抄袭和模仿。 三、SNS网站的发展阶段 SNS网站的...
在广告投放方面,国内外SNS网站各有特点。以Facebook为例,其成功之处在于巧妙地将广告融入用户的社交体验,采用非强迫式广告策略。通过用户之间的互动和口碑传播,广告信息能够在社交网络中自然扩散,形成更有效的...