8月3日《天空之城》在日本的热播创下每秒新增143119条推文的Twitter峰值记录,是Twitter平均每秒发推数(TPS)5700条的25倍。
值得注意的是,在这次毫无征兆的“洪峰”到来时,Twitter全新的系统平台并没有被潮水般涌来的推文堵塞而产生任何延迟甚至宕机。
Twitter旧架构与新架构的性能对比
仅仅三年前,在2010年世界杯上,一个点球和一张红牌产生的“推文风暴”都可能导致Twitter服务暂时失去响应,号称地球脉搏的Twitter经常“心肌梗塞”。过去三年Twitter的工程师们夜以继日的工作,试图用“缝缝补补”的方式完善Twitter系统,但最终随着Twitter的快速发展,这些方法的收效转瞬即逝。
最终,Twitter痛下决心重新架构为人诟病的IT系统,新平台上线运行后在性能和可靠性上都取得的翻天覆地的进步。无论是《天空之城》热播还是超级碗决赛都没能卡住Twitter,而且新的架构也为Twitter推出多媒体推文卡片,跨设备消息同步等新功能的推出提供了有力的支撑。
最近,Twitter平台工程副总裁Raffi Krikorian(@raffi)在Twitter官方博客撰文分享了Twitter新架构的方法和经验,摘要如下:
重新架构的缘由与问题症结
2010年世界杯多次卡壳后,我们重新审视了系统,有以下几点发现:
我们运行着全球最大的Ruby on Rails应用,200名工程师负责开发运维这个系统,但随着用户规模和服务数量的快速增长,系统所有的数据库管理、Memcache链接以及公共API的代码属于同一个代码库。这给工程师的学习、管理和并行开发都带来巨大困难。
我们的MySQL存储系统已经遇到性能瓶颈。整个数据库中到处都是读写热点。
通过添置硬件已经无法解决根本的系统问题
新闻热点
新闻爆料