赛马机:从Twitter架构变迁看Web2.0的架构技术-ChinaUnix技术开发频道
来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 19:54:30
从Twitter架构变迁看Web2.0的架构技术2009年09月13日 00:00 来源:IT168网站 作者:InFoQ中文站 编辑:李倩
【IT168 分析评论】
Evan Weaver是Twitter服务团队的总工程师,他的主要工作是优化与伸缩性。在一个技术峰会上,他谈到了Twitter的架构,特别是在过去一年当中为提升Web站点性能所执行的优化。
Twitter使用的大部分工具都是开源的。其结构是用Rails作前端,C,Scala和Java组成中间的业务层,使用MySQL存储数据。所有的东西都保存在RAM里,而数据库只是用作备份。Rails前端处理展现,缓存组织,DB查询以及同步插入。这一前端主要由几部分客户服务粘合而成,大部分是C写的:MySQL客户端,Memcached客户端,一个JSON端,以及其它。
中间件使用了Memcached,Varnish用于页面缓存,一个用Scala写成的MQ,Kestrel和一个Comet服务器也正在规划之中,该服务器也是用Scala写成,当客户端想要跟踪大量的tweet时它就能派上用场。
Twitter是作为一个“内容管理平台而非消息管理平台”开始的,因此从一开始基于聚合读取的模型改变到现在的所有用户都需要更新最新tweet的消息模型,需要许许多多的优化。这一改动主要在于三个方面:缓存,MQ以及Memcached客户端。
缓存
每个tweet平均被126个用户跟踪,所以这里有着明显的缓存需求。在最初的配置中,只有API有着一个,当每次从一个用户那里来了一个tweet时就会失效,而应用的其它部分都是无缓存的:
下一页:架构改动>>
从Twitter架构变迁看Web2.0的架构技术-ChinaUnix技术开发频道
简单说说?OsChina?的技术架构
一切从架构的基本元素出发
架构评估技术详解--振兴中国的IT产业
架构师:站在技术的山顶向前眺望
MySpace 和Amzon成功的秘密【技术-网站架构篇】
一个数据分析系统的技术架构设计浅析
页面的架构
学习ice的架构
K7架构的绝唱
中国军队的组织架构
外研社组织架构变迁“三部曲” - 律动的外研 - 外语教学与研究出版社
技术架构两三语 UGC广播站
中国电信CTG-MBOSS技术架构及其应用
大规模网站架构技术原理透析
新浪微博技术架构分析
大型网站架构技术方案集锦
软件架构——架构师的职责
架构风格与基于网络的软件架构设计
Linux的I2C驱动架构
架构设计的五视图
政府机构的干部级别架构
PetShop的系统架构设计
来自淘宝的架构经验