【架构】月PV破150亿:Tumblr架构揭密

2019-01-29  本文已影响8人  iceinto

随着每月页面浏览量突破150亿次,Tumblr已经名正言顺地跻身博客类平台中的名人堂。用户们对它的简洁、美观以及对使用体验的专注追求赞不绝口;它的相关社区也同样氛围温馨、人气爆棚。总之,人们喜欢这位博客家族中的新贵。

超过30%的月度增长不可能一帆风顺,过程中的坎坷与挑战也自然不言而喻,但最令人头痛的还是可靠性问题。正是经过技术人员的不懈努力,Tumblr才取得了如此惊人的规模及傲人的运行成绩:每天5亿次页面浏览、每秒四万次查询请求峰值、每天新数据存储量高达约3TB、总支持服务器达到1000余台。

大多数成功的新兴企业都面临着相似的困扰,由于从初来乍到的新成员一跃成为万众瞩目的焦点角色,一道巨大的危险鸿沟硬生生将原本孱弱的技术支持团队推向了风口浪尖。招聘员工、扩大基础设施、维护旧有基础设施的同时,仍然只有寥寥数位工程师负责着每个月巨大的数据吞吐量。这样的工作强度意味着我们在处理过程中必须有所侧重,而做出这样的选择无疑相当艰难。Tumblr目前也陷入了这样的困境,他们的做法是创建起一个由二十位精力充沛的工程师组成的技术小组,在应对日常事务的同时制订出多种极富创意的解决方案。

Tumblr创立之初就将自己定位为典型的大型LAMP(即由定制组件构成的系统)应用程序。如今他们前进的方向是通过Scala、HBase、Redis、Kafka、Finagle以及以架构为基础的新颖单元共同打造出多种分布式服务模块,借以构成完整的Dashboard导航内容。目前他们已经开始尝试修复PHP应用程序中的短期问题、将故障部分抽离出来并利用服务机制进行更正。

Tumblr发展的主题是在庞大的平台规模之上实施成功转型。即将LAMP堆栈转变为一套更具突破性特性的新堆栈,同时将原本适用于新兴企业的小型团队扩展为装备精良、擅长开发工作的成熟团队,进而为用户带来大量新功能及基础设施。为了帮助我们更透彻地理解Tumblr实现这一方针的具体做法,Tumblr公司分布式系统工程师Blake Matheny分享了他的心得体会。以下是Blake对Tumblr做出的信息汇总:

Tumblr官方网址:http://www.tumblr.com/

统计

软件

硬件

架构

过去的Tumblr

如今的Tumblr

内部传输线

内部应用程序需要访问活动流。每个活动流的内容都与用户行为相关,例如创建、删除博文或者喜欢、反感某些博文等。挑战在于如何将这样规模的数据实时加以分散。要达到这一目的,需要足以支持大规模内部扩展的工具以及拥有可靠生态系统辅助的应用程序。此外还要确立分布式系统的中心点。

Dashboard收件箱的Cell设计

成为一颗立足于纽约的耀眼新星

团队构成

软件开发

开发工作

招聘流程

经验教训

在这里我要向Blake表示感谢,也正是由于他的耐心配合,这篇汇总型文章才会与大家见面。采访过程中他表现出令人称道的慷慨心态,并且不厌其烦地向我们解释工作流程中的具体细节。

原文:Tumblr Architecture - 15 Billion Page Views a Month and Harder to Scale than Twitter

上一篇 下一篇

猜你喜欢

热点阅读