说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

磨剑三载,且看从容应对14.3万TPS的Twitter是怎样炼成的!

HTML文档下载 WORD文档下载 PDF文档下载
三年前的世界杯上,Twitter的服务随裁判哨声跌宕起伏;三年后的今天,Twitter的服务已经可以从容应对毁灭“天空之城”的魔咒,并创下每秒143199次tweet的新峰值。

记得刚接触宫崎骏老爷子的作品是在高中时代,然而当时正值青春年少外加深受灌篮高手等动画“荼毒”,对宫老爷子的《千与千寻》、《龙猫》、《魔女宅急便》、《天空之城》之流也就完全不感冒了。再次接触宫老爷子的动画则是在大学期间,记得当时熬了N个通宵把全集都过了好几遍,不得不感慨作品只有在相应的情景下才能释放价值。从这个观点上看,近日网上流传的“宫老爷子还能再战十年!”也并不为过。

NTV电视台于2013年8月2日晚第14次重播了《天空之城》,当剧情发展到男女主角巴鲁和希达共同念出毁灭之咒“Blase”时,一举将tweet发送峰值带到了每秒143199次,这个峰值高于2013日本新年33388次/秒,也高于拉登之死(5106次/秒)、东日本大地震(5530次/秒)、美国流行天后碧昂斯宣布怀孕(8868次/秒)。

毁灭之咒“Blase”摧毁了天空之城,同样也摧毁了经过充分准备的2ch,然而却铸就了当下Twitter的最新峰值。新的峰值是平均值(5700TPS)的25倍,当下用户平均每天发送的tweet是500万条左右。在峰值期间,Twitter一直保持着高可用性,对比3年前世界杯上的表现无疑有着天壤之别。近日Twitter在技术博客上公布了为什么会重铸Twitter以及新系统打造的相关细节,以下为译文:

重铸Twitter决心

当2010年人们将Twitter作为世界杯体验实时分享工具时,每一脚射门、每一次罚球、以及裁判出示的每一张红牌或黄牌产生的tweet都会对系统造成不同程度的影响,同时也会造成程序短时间内的不可用。2010世界杯期间,工程师日以继夜的工作,拼命的改善系统性能。不幸的是,这样的努力瞬间被Twitter的快速增长淹没。

有过这次经历,我们清楚了只有重新架构才能匹配网站的增长,同时让系统变得更加可靠。随后我们就开启了漫漫的重构之路,而当下Twitter已经可以从容应对类似《天空之城》重播、超级碗以及全球新年夜庆典这样的事件,新的架构不仅能弹性的应对负载,还可以帮助工程团队快速发布新特性,包括了跨设备的消息同步,Twitter cards可以让服务变得更加的丰富并拥有更多的内容,同样还带来了囊括用户和故事的搜索体验。为了实现这些,我们甚至改变了工程组织,下面就来一睹服务打造细节:

三年磨剑铸辉煌

重新架构

在2010世界杯尘埃落定后,我们审视了整个系统,并发现众多需要从根本上改善的地方:

1. Twitter曾运行着世界上最大的RoR堆栈,并将这个技术推到了一个绝对高度:那个时候,大约200个工程师在为之奋斗,它确实让Twitter渡过了一个用户爆发性时期,不管是新用户的增加,还是负载增加的处理。这个系统一度支撑了所有运作,从管理数据库、memcache连接到网站的渲染及公共API的呈现,这些全部包含在一个代码库里。它不仅让工程师的整合变的困难,同样也困扰了工程团队的管理及并行作业。

2. 存储系统的吞吐量达到了极限——之前Twitter使用的是纯粹的MySQL存储系统,进行分片,同时系统只有一个主节点。然而从系统展示的速度上来看,tweet的吞吐率确实出现了问题。这样我们就必须重建一个新的数据库以应对增长率,因为热门数据的读取已越来越频繁。

3. 取代从工程方面彻底的解决问题,我们曾尝试过投入更多主机;然而随后就发现,前端Rbuy主机并不能处理预期(根据性能)的事务量——从以往的经验看,这些主机完全可以胜任更多的事务。

4. 最后,从软件角度上看,我们发现我们一直在钻优化这个牛角尖,我们开始在性能和效率与代码库的可读性和灵活性之间做权衡。

综上所述,系统的重新架构已迫在眉睫,我们给自己定下了3个目标和挑战:

1. 我们希望打造出兼具性能、效率及灵活性的大型基础设施——我们希望能改善Twitter上的平均延时,同样我们希望通过离群值给Twitter带来统一的体验。我们希望将赖以运行的服务器降到十分之一。我们希望对故障进行隔离以避免大规模宕机——随着服务器规模的日益增大,这点就尤为重要,因为集群的变大意味着主机故障将愈来愈频繁。故障是不可避免的,所以我们希望它们发生在一个更容易控制的模式下。

2. 我们希望通过将相关的代码放到一起,以获得更清晰的边缘——我们已经感受了整片代码所带来的困扰,所以我们打造一个松耦合、基于服务的架构。我们目标是封装和模块化的最佳实践,当然是在系统级,而不是类、模块或者是包一级。

3. 最重要的是,我们希望能更快的发布特性。我们希望团队能并行的运作,每一个小组都可以在不依赖其它小组的情况下独立的完成局部决策,并将特性发布给用户。

我们POC了新的架构,虽然不是所有的努力最终都能符合上述目标,但是最起码做到了一部分并且解决了工具问题,当然,还得到了比现下更令人满意及可靠的基础设施。

复制器官哪家强?3D生物打印找PrintAlive 电信开放平台应用内计费SDK 助力App小额快捷支付 专心做设计!开源跨平台应用开发框架Appverse Mobile 无线盛宴尽在阿里百川开放大会 医学界的Instagram:加拿大重症监护医生开发照片分享应用 2014中国移动开发者大调查第二批获奖名单揭晓 基于OpenStack的私有云开发部署实践 亚马逊云平台的迁移过程 【干货】微信企业号开发资源集锦 CSS生日快乐:CSS之父H&#229;kon Wium Lie访谈录 好友近2000万,绑定银行卡过千万,日会话近百万,招商服务号成功之道 一名程序员十年技术之路的思考与感悟 聚焦企业号、服务号典型案例 微信开发者大会深圳站正式开启 Objective-C之父Brad Cox访谈:我的编程之路 【先锋】完成B轮融资的TalkingData新商业模式:平台理念+跨界分析+技术开源 1/10计算资源,1/3耗时,Spark颠覆MapReduce保持的排序记录 Cookie已死,看Facebook、Google、Apple如何追踪用户 Clay.io基于AWS、Docker、HAProxy等的10X架构打造 经典服务/企业号案例来袭!2014微信开发者大会(深圳)亮点抢先看 移动应用云APICloud宣布完成A轮500万美金融资 从Apache Storm学到的经验教训 【CTO俱乐部走进天津】探讨如何成为技术团队管理者 不容错过!参加MDCC 2014移动开发者大会八个理由 你的钱被洗劫了么!APP安全问题来袭 10大最常见的数据库安全问题 南航微信服务号是如何炼成的? 超40项功能改进,虚幻引擎4.5正式发布! 【工具推荐】ER:可轻松构建一站式AJAX Web应用的开发框架 GraphLab:将大数据分析从理念运用到生产 支持Android 5.0:完全用Ruby的Ruboto框架迎1.2.0更新! 万物互联第一步:采用AllJoyn技术的智能硬件 <input type=file name=pic>如何取值,如何设置初始值???? 么样判断一个客户机是否能够连上服务器上数据库,在线等待 在RAVE中如何加上总页数和当前页数? 有缺邮箱用的吗>?现在有了哦,穷人快来啊。。哈哈,我也是其中一个。 请问一个 应用程序登陆SQl Server 时密码的问题? 菜鸟提问! Outlook Express邮件丢失 非典嚣张的日子里的北京(希望惊起大家对SARS的关注)!!! 问一个简单的概念性问题,分却很多.......还可加哦 一个数据映射错误 关于进程通讯的问题 问一个简单的概念性问题,分却很多.......还可加哦 哪里可以找到关于OA方面的资料?越多越好,100分送上 高手请进,怎么监测到一个文件将被覆盖 请问如何屏蔽F1查看帮助的功能? 高手请进,怎么监测到一个文件将被覆盖 能提供解码器么? 在tdi中,怎样获取封包ip头? 神啊!救救我吧!!!!(在线等待) 我看SARS危机 求助 我该怎么办??? 管理登陆问题解决?? 一个简单的问题,如何对字符串进行减操作? 谁用过struts,进来交流一下! 请大侠看看俺的小程序,哪里错了(关于不规则图形填充) delphi查询问题(急需) 急求:从硬盘安装windowsxp时电脑出显不能安装,找不到eula!如何解决? 系统分析员VS博士 C#连接Oracle? 关于<BASE> 那里有WebDB下载啊. 在ListCtrl里加类似Combo Box的东西,能实现吗? windows2000下vb的一个小问题~~ 如何把当前路径加入查找路径中?立即给分! 对选用不同的纸张大小,在预览中能看出效果吗? 请问怎么在PB6.0中实现Foxpro(*.dbf)的数据导入,到ASA库中 j2me里怎么才能实现图象的滤镜效果?waiting... CDbSet m_dbSet(NULL)在哪一步才能得到一个CDatabase对象的错针? 新手提问:“镜象”是什么意思 求教,如何配置使性能达到最佳,详情见文 怎样在广域网中提高传屏响应速度?帮帮忙!急啊. 在文件钩子当中如何判断是打开文件操作,还是创建文件操作 怎样在applet程序中显示一幅jpeg图片?该图片存在于c:\image\下。 去年12月是谁发的帖子“做项目经理难么” 关于图层拖拽的问题 我有一块硬盘,迈托4.3G,开格式化分时说错误设备或0磁道损坏,后来fdisk分区,启动无效 这是个什么错误啊~ 第一次做控件不明白 给点指点啊 急求:从硬盘安装windowsxp时电脑出显不能安装,找不到eula!如何解决? 不用的控件怎样从工程中删除? 怎样将一个表中的全部数据追加到别一个表的后面????在线 contract什么意思 小学生遵守交通规则的事例!要遵守交通规则的,快,要身边发生的,描写要详细,多 在△ABC中,a,b分别是角A和角B所对的边,a=根号3,b=1,B为30°,那么角A的值为 胡椒粉加水进入眼睛会怎样 秋千这词是哪来的? 在三角形ABC中 a=1 b=根号3 A=30° 求B? 如何检验正庚烷溶剂是否合格我们用正庚烷做去渍溶剂 "秋千"这个词是怎么来的? 水下污染物的毒性实验怎么做? 1摩尔C17H18最多与几摩尔氢气发生反应 正庚烷在70摄氏度的密度,比热容,粘度,导热率 不遵守交通规则的事例,要具体,急! 这个物质最多能和几摩尔氢气发生反应?生成什么?为什么? 电子分析天平可以检测什么项目? 地下水污染问题《时寒冰说》一书在某章节说明,地下水污染的治理费用非常巨大,全球恐怕没有哪个国家可以承担的起.日本曾经估测过,如果要全面治理日本地下水,将会耗资“多少”万亿美 第二个问是什么意思,截距表示什么. 云母屏风烛影深指的是什么时间 理论上如何杀死人体内病毒病毒有哪些方法可以杀死?请说出一种最有可能的方法杀死人体内的病毒.不要利用人体免疫系统,而是直接杀死病毒只要理论上可行就行了,即使目前技术手段做不到 二次函数的截距是什么意思?怎么算还有公式啥的,求详细解释!谢谢! 云母屏风烛影深,长河渐落晓星沉.的意思是什么? 治疗农作物病毒的药物都是怎样的原理? 云母屏风烛影深的意思是什么? 苗苗按比例描摹油画(秋千)已知原画长83cm,宽66cm,她画的画长是16.6cm,她选用的比例尺是多少请例出算式 4-溴环己烯为什么不叫做3-溴环己烯我的意思也就是为什么不能从双键的另一边开始数1.2.3.而且1.2.3.4 ‘云母屏风烛影深,长河渐落晓星沉.的意思是什么 大豆异黄酮是从黄豆还是蚕豆中提取的?含雌激素较多的食物有哪些? 电子分析天平的数值总是变化不定时什么原因 什么能够快速产生大量二氧化碳或者能大量消耗氧气?或者说,能起到灭火作用?最好是材料低价,反应迅速,效果明显的,试验成功后可再增加赏金~ 用钡餐检查出胃里面有一个阴影是怎么回事 德国赛多利斯sartorius电子分析天平CP225D出来的数据老是跳动怎么回事啊?每一次我用这个天平,如果是固体,那么数据很稳定的,但是如果是液体,数据就会不停地跳,是不停地减小,小数点后第五位 什么东西能与吗柠檬酸生成大量的CO2要经济点的写出公式 秋千如何画,请发铅笔稿. ZnCl2 和NH4Cl的混合溶液中还有杂质CuCl2,会加速对电池的腐,想去Cu,为什么最好用 Zn其实这是道选择题 A NAOH B Zn CFe D NaCO3 C6H4CNSCH3用重铬酸钾氧化产物是什么?CN和SCH3在苯环上是相邻的能把CN氧化成氨氮吗? 固相萃取和液相色谱的关系固相萃取跟液相色谱有什么关系?固相萃取重点是什么啊,在什么方面重要点?想买一台仪器该考虑哪些呢? 解释:机遇只给有准备的人(不用太深奥) 云母屏风烛影深,长河渐落晓星沉的意思简单一点,越简单越好,不要太简单加上:云母屏风烛影深,深的意思,长河渐落晓星沉,长河的意思和沉的意思 国内哪家的色谱四氢呋喃质量好? 毕竟西湖六月中,下一句是什么 I have to assume beyond any doubts that. ..这个that引导的是宾语从句还是同位语从句 为什么. 有么有描写人物的故事?可以是自己人也可以是陌生人 资本主义是什么?不要太深奥 云母屏风烛影深,长河渐落晓星沉.的意思要句意,不要故事要这两句的句意,别的什么都不要 云母屏风烛影深 长河渐落晓星沉的意思.(短句) 什么叫测试病毒 云母屏风烛影深 长河渐落晓星沉是什么意思 看例子填空百合是( )的( )与( )的( );玫瑰是( )的( )与( )的( );康乃馨是( )的( )与( )的( );向日葵是( )的( )与( 在氯化铜溶液中..CU离子与氯离子的关系是?..A.=1:2 B.1:2 D=1:1 什么是水体富氧 怎样将分析天平调整到水平 拿什么测验病毒 assume位于句子开头,引导that从句时,用什么形式 请同学们读例子填空. 青刀豆是转基因吗 试证曲面√x+√y+√z=√a(a>0)上任何点处的切平面在各坐标轴上的截距之和等于a 沙眼衣原体DNA-CT-DNA 3.这是感染还是没感染呢? 凉拌青豆角怎么做我看到加了蒜头等 过点(0,3),且在两坐标轴上截距之和等于5的直线方程是? 秋千一词由何得来?来自哪里,哪个朝代?为什么而得名? 需要什么原料,具体步骤是什么, 外媒:中国不缺改革突破口 缺推进改革联合国称叙利亚完成对化武生产设施功能叙利亚当局表明愿无条件参加叙问题国际以色列攻击叙利亚军事基地 目标是俄制奥巴马豪华座驾细节曝光 可抵御化武攻普京与中国中央军委副主席许其亮举行会美国六大互联网巨头致信国会要求改革监美国被指反咬欧洲国家是监控活动合作方联合国敦促美方遵守国际法准则美大使称马来西亚民众隐私将不受监听影美财政部制裁俄流行歌手 称其涉嫌跨国格鲁吉亚称俄未被列入总统就职典礼受邀澳大利亚使馆被曝替美监听亚洲 澳总理斯诺登最新照:在莫斯科乘游览船 未戴以色列攻击叙利亚军事基地 目标是俄制默克尔遭美国监听 德议员称斯诺登愿协国际新闻早报:美国务卿将访沙特修补关美媒:日本大幅升级预警机应对中俄海南乐东退休局长房屋夜半遭强拆 警方初三女生因学习压力大 屡次到超市偷零宁波红光集团等6企业涉税违法被罚23我省将组建科技创新智库湖北日报讯 省卫生计生委机关党委书记轻点手机,打印出一间办公室湖北日报讯 □陈鲁民鼓楼区启动科普宣传周活动深入学习领会《意见》精神实质 进一步美元对多数主要货币汇率19日上涨100个街道(镇)年底前成立总工会用“技术立校”逐梦教育变革中国男团止步汤杯八强我省试点建立工业用地弹性出让制度8个区属档案新馆建设稳步推进大别山金融论坛本月下旬举行推动省政协工作机制创新再上新台阶荆州空地一体巡查秸秆焚烧7月起我市提高建筑业农民工医保待遇湖北日报讯 本报评论员湖北日报讯 □马德看“南京智慧旅游大数据”如何推动旅游深入学习贯彻《意见》 推动省直机关党有序推开人防军民融合重大改革项目
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘