- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
? sun@ 软件体系结构案例分析——Twitter简析 赵学龙 zhaoxuelong@ Twitter是什么? 一种可以向你的朋友或者follower发送短信息的免费网络服务。 是多种通信方式的综合 Email电子邮件 instant messenger短信 blog博客 Rss (不同之处在于它的字数限制在140字) 起源于“What are you doing?”的答案 现在是“what’s happening” Twitter的起源与发展 随着信息爆炸的加剧,微博客网站Twitter横空出世了。 从2006年5月Twitter上 线,到2007年12月,一年半的时间里,Twitter用户数从0增长到6.6万。 2008年12月,Twitter的用户数达到5百万,消息数量就达到了10亿条, 2010年3月,Twitter的消息数量首次达到100亿条, Twitter全球用户数已达1亿。 Twitter的日均注册数约为30万人,独立访问量达1.8亿。 Twitter发展 目前,60%的 Twitter新用户现在来自美国以外,而其75%的流量也来自T之外。 新浪微博5百万用户(2010年3月)(2009年8月内测) QQ同时在线用户1亿(2010年3月) (2007年9月 注册用户8.5亿) 手机用户7.47亿(2010年1月,工信部) 中国上网人数4.04亿(2010年5月) Twitter体系结构 Twitter网站的成功,先决条件是能够同时给千万用户提供服务,而且提供服务的速度要快。 有观点认为,Twitter的业务逻辑简单,所以竞争门槛低。Twitter的竞争力,离不开严谨的系统架构设计。 Twitter业务逻辑 Twitter的核心业务逻辑,在于Following和Be followed。 进入Twitter个人主页,你会看到你following的那些作者,最近发表的微博客。所谓微博客,就是一则短信,Twitter规定,短信的 长度不得超过140个字。这就是following的过程。 当你写了一则短信并发表以后,你的followers会立刻在他们的个人主页中看到你写的最新短信。这就是be followed的过程。 Twitter 业务逻辑 1. 为每一个注册用户订制一个Be-followed的表,主要内容是每一个follower的ID。同时,也订制一个Following的表,主要内容是每 一个following作者的ID。 2. 当用户打开自己的个人空间时,Twitter先查阅Following表,找到所有following的作者的ID。然后去数据库读取每一位作者最近写的 短信。汇总后按时间顺序显示在用户的个人主页上。 3. 当用户写了一则短信时,Twitter先查阅Be-followed表,找到所有followers的IDs。然后逐个更新那些followers的主 页。 Twitter 业务逻辑 从作者发表到读者获取,中间的延迟,取决于JavaScript更新的间隔,以及Twitter服务器更新每个follower的主页的时间。 从系统架构上来说,似乎传统的三层体系结构(Three-tier architecture)足够满足这个业务逻辑的需要。事实上,最初的Twitter系统架构,的确就是三层结构。 三层体系结构 三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。 表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。 业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。 数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。 网站的架构设计,传统的做法是三层结构。所谓“传统的”,并不等同于“过时的”。 Twitter的体系结构 2006年5月Twitter刚上线的时候,为了简化网站的开发,他们使用了Ruby-On-Rails工具,而Ruby-On-Rails的设计思想,就是三层结构。 1. 表述层(Presentation Tier) 用的工具是Apache Web Server,主要任务是解析HTTP协议,把来自不同用户的,不同类型的请求,分发给逻辑层。 2. 逻辑层 (Logic Tier)用的工具是Mongrel Rails Server,利用Rails现成的模块,降低开发的工作量。 3. 数据层 (Data Tier) 用的工具是MySQL 数据库。 数据层 Twitter 的服务概括为两个核心:用户,短信。 用户与用户之间的关系,是追与被追的关系,也就是Following和Be fo
您可能关注的文档
最近下载
- 美的专卖店运营手册.doc
- 人教版五年级数学上册第六单元《多边形的面积》导学案 .doc
- (24)--6.6 原子结构 概率密度、电子云、波函数和电子云的空间图像.pdf
- RealityCapture中文教程_最新教程【104页】.pdf
- 5.认识身边的数字设备(教学课件)-三年级信息科技全一册(河北大学版2024).pptx
- 野生动物知识竞赛考试题库(汇总600题).pdf VIP
- 《Is this your pencil》PPT精品课件7七年级上册英语人教版.pptx
- 市区燃气管道工程施工组织设计.pdf
- 李晓风-高考历史一轮复习教材分析和教学设计.ppt
- 液体渗透探伤规范-中英文(03版).pdf
文档评论(0)