Pinterest谈实战经验:如何在两年内实现零到数百亿的月访问

Pinterest一直保持着指数增长,每一个半月都会翻一翻。在两年内,他们实现了从0到数百亿的月PV;从开始的两个创始人加一个工程师增长到现在超过40个工程师,从一个小型的MySQL服务器增长到180个Web Enigne、240个API Enigne、88个MySQL DB(cc2.8xlarge,每个DB都会配置一个奴节点)、110个Redis Instance以及200个Mmecache Instance。

在一个名为 《Scaling Pinterest》 的主题演讲上,Pinterest的Yashwanth Nelapati和 Marty Weiner为我们讲述了这个戏剧性的过程。当然扩展到当下规模,Pinterest在众多选择中不可避免的走了许多的弯路,而Todd Hoff认为其中最宝贵的经验该归结于以下两点:

如果你的架构应对增长所带来的问题时,只需要简单的投入更多的主机,那么你的架构含金量十足。 当你把事物用至极限时,这些技术都会以各自不同的方式发生故障,这导致他们对工具的选择有着特殊的偏好:成熟、简单、优秀、知名、被更多的用户喜爱、更好的支持、稳定且杰出的表现、通常情况下无故障以及免费。使用这些标准,他们选择了MySQL、Solr、Memcache、Redis、Cassandra,同时还抛弃了MongoDB。

同样这两个点是有关联的,符合第二个原则的工具就可以通过投入更多的主机进行扩展。即使负载的增加,项目也不会出现很多故障。即使真的出现难以解决的问题,至少有一个社区去寻找问题解决的方案。一旦你选择过于复杂和挑剔的工具,在扩展的道路上将充满荆棘。

需要注意的是所有他们选择的工具都依靠增加分片来进行扩展,而非通过集群。讲话中还阐述了为什么分片优于集群以及如何进行分片,这些想法可能是之前你闻所未闻的。

下面就看一下Pinterest扩展的阶段性时间轴:

项目背景

Pins是由其它零零碎碎信息集合成的图片,显示了对客户重要的信息,并且链接到它所在的位置。 Pinterest是一个社交网络,你可以follow(关注)其它人以及board。 数据库:Pinterest的用户拥有board,而每个board都包含pin;follow及repin人际关系、验证信息。

1. 2010年3月发布——寻找真我的时代

在那时候,你甚至不知道需要建立一个什么样的产品。你有想法,所以你快速的迭代以及演变。而最终你将得到一些很小的MySQL查询,而这些查询在现实生活中你从未进行过。

Pinterest初期阶段的一些数字:

2个创始人 1个工程师 Rackspace 1个小的网络引擎 1个小的MySQL数据库 2011年11月

仍然是小规模,产品通过用户反馈进行演变后的数字是:

Amazon EC2 + S3 + CloudFront 1 NGinX, 4 Web Engines (用于冗余,不全是负载) 1 MySQL DB + 1 Read Slave (用于主节点故障情况) 1 Task Queue + 2 Task Processors 1 MongoDB (用于计数) 2 Engineers

2. 贯穿2011年——实验的时代

迈上疯狂增长的脚步,基本上每1个半月翻一翻。

当你增长的如此之快,每一天每一星期你可能都需要打破或者抛弃一些东西。 在这个时候,他们阅读大量的论文,这些论文都阐述着只需要添加一台主机问题就会得以解决。他们着手添加许多技术,随后又不得不放弃。 于是出现了一些很奇怪的结果 : Amazon EC2 + S3 + CloudFront 2NGinX, 16 Web Engines + 2 API Engines 5 Functionally Sharged MySQL DB + 9 read slaves 4 Cassandra Nodes 15 Membase Nodes (3 separate clusters) 8 Memcache Nodes 10 Redis Nodes 3 Task Routers + 4 Task Processors 4 Elastic Search Nodes 3 Mongo Clusters 3个工程师 5个主数据库技术,只为了独立其中的数据。 增长太快以至于MySQL疲于奔命,所有其它的技术也达到了极限。 当你把事物用至极限时,这些技术都会以各自不同的方式出错。 开始抛弃一些技术,并且自我反省究竟需要些什么,基本上重做了所有的架构。

3. 2012年2月——成熟的时代

在重做了所有的架构后,系统呈现了如下状态 Amazon EC2 + S3 + Akamai, ELB 90 Web Engines + 50 API Engines 66 MySQL DBs (m1.xlarge) +,每个数据库都配备了奴节点 59 Redis Instances 51 Memcache Instances 1 Redis Task Manager + 25 Task Processors Sharded Solr 6个工程师 现在采用的技术是被分片的MySQL、Redis、Memcache和Solr,有点在于这些技术都很简单很成熟。 网络传输增长仍然保持着以往的速度,而iPhone传输开始走高。

4. 2012年10月12日 —— 收获的季节

大约是1月份的4倍

现在的数据是: Amazon EC2 + S3 + Edge Cast,Akamai, Level 3 180 Web Engines + 240 API Engines 88 MySQL DBs (cc2.8xlarge) ,同样每个数据库都有一个奴节点 110 Redis Instances 200 Memcache Instances 4 Redis Task Manager + 80 Task Processors Sharded Solr 40个工程师(仍在增长) 需要注意的是,如今的架构已趋近完美,应对增长只需要投入更多的主机。 当下已开始转移至SSD

(责任编辑:admin)

时间: 2024-09-22 07:06:55

Pinterest谈实战经验:如何在两年内实现零到数百亿的月访问的相关文章

【转贴】两年内从零到每月十亿 PV 的发展来谈 Pinterest 的架构设计

来源: http://www.oschina.net/translate/scaling-pinterest-from-0-to-10s-of-billions-of-page-views 英文原文:Scaling Pinterest - From 0 to 10s of Billions of Page Views a Month in Two Years 标签: <无> 45人收藏此文章, 我要收藏oschina 推荐于 5天前 (共 17 段, 翻译完成于 04-19) (7评)   

股民诉大唐电信仅两人获赔数额仅数百元

赔偿数额仅数百元其余股民损失被定与虚假陈述无关 本报讯(记者王秋实 通讯员常鸣)上市公司大唐电信做出虚假陈述,造成股市"跌声一片",也引发了股民们的集体索赔诉讼.昨天记者从市一中院获悉,62股民集体诉讼的案件中,目前已有30多起索赔案均已一审宣判,其中仅有2人符合赔偿规定的要求,且仅得到数百元的赔偿,其余绝大多数股民的诉讼请求被法院驳回. 大唐电信科技股份有限公司1998年9月21日在北京海淀区新技术开发试验区注册成立.同年10月,大唐电信公司股票"大唐电信"在上交

未来两年内的九大信息安全威胁(二)

上接 未来两年内的九大信息安全威胁(一) D1net观察:我们日常依赖的互联网可靠吗,哪些攻击可以造成互联网的中断,预防互联网中断可以采取哪些措施?企业如何面对物联网设备遭受到勒索软件的劫持?企业以为自己的数据很安全,但是如果和数据安全相关或者和企业关键信息相关的员工遭受暴力威胁,怎么办?企业往往会根据掌握的信息制定公司战略和做出决策,但是,企业掌握的信息可靠吗?人工智能如火如荼,但是人工智能也可以被攻击者利用,那么如何防止攻击者利用人工智能传播企业的虚假消息?据预测,到2019年,65%的全球

网易有道笔记负责人谈敏捷开发的实战经验

摘要: 网易有道笔记负责人谈敏捷开发的实战经验:什么时候适合使用敏捷开发呢?我们的经验是需要两点:一.团队有三名或以上的研发工程师;二.团队内有一名合适的Scrum Master. 有道云笔 网易有道笔记负责人谈敏捷开发的实战经验:什么时候适合使用"敏捷开发"呢?我们的经验是需要两点:一.团队有三名或以上的研发工程师;二.团队内有一名合适的Scrum Master. 有道云笔记团队成立于从2010年,从成立伊始我们就一直积极地在实践中尝试Scrum(敏捷开发的一种项目管理方法)的做法.

分享通信高层谈收购GiCell:预计两年内收回投资

4月22日消息,近日国内虚拟运营商分享通信宣布将正式收购尼日利亚电信运营商GiCell,金额达2亿美元,占股80%.这也是中国民营企业首次收购海外电信运营商. 面对收购以后的规划,分享通信集团董事局主席蒋志祥在接受飞象网记者采访时表示:"利用半年到一年的时间进行建设,预计两年内收回投资." 用两年时间收回投资 尼日利亚,位于西非东南部,拥有人口1.8亿,是非洲人口第一大国,同时也是非洲第一大经济体. 尽管非洲石油.天然气.矿产等资源比较发达,但是通信业起步较晚,尤其是移动通信基本还处空

电子商务实战经验七点谈

中介交易 SEO诊断 淘宝客 云主机 技术大厅 随着电子商务的日趋成熟,越来越多的企业也深刻地 认识到:要在竞争日益强烈的国际市场中持续发展并立于不败之地,开展电子商务是企业 最好选择和必由之路.当然,企业要开展电子商务,仅仅靠建立一个网站进行产品推广和宣传是远远不够的.那么,企业如何在电子商务的实战中获得成功呢?下面是来自电子商务最前线的实战经验: 一.物美价廉的产品信息 发布的产品的质量一定要过硬,同时在价格上有一定优势.因为,市场上的同类产品一定存在.在商品经济发达到目前这个程度,独一无二

浅谈微博营销的实战经验

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 前几天在站长百科论坛里听大家说微博会代替博客营销,一直没怎么关注微博的我,这几天也一直都在研究微博营销,也总结了点实战的经验,下面就和大家分享下. 一.学会定为自己的微博 微博之所以这么火主要还是因为微博的针对范围比较广,不管是生活方面还是娱乐方面都能找到相对应的人员来和你一起互动.所以在你决定用微博营销之前要学会定位你的微博.你要做的对象是

我的 Android 开发实战经验总结

我的 Android 开发实战经验总结 字数4440 阅读5137 评论43 喜欢250 以前一直想写一篇总结 Android 开发经验的文章,估计当时的我还达不到某种水平,所以思路跟不上,下笔又捉襟见肘.近日,思路较为明朗,于是重新操起键盘开始码字一番.先声明一下哈,本人不是大厂的程序猿.去年毕业前,就一直在当前创业小团队从事自己热爱的打码事业至今.下面总结是建立在我当前的技术水平和认知上写的,如有不同看法欢迎留下评论互相交流. 1.理解抽象,封装变化 目前 Android 平台上绝大部分开发

利用soso问答平台优化推广实战经验分享

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 网络推广一直是站长比较关心的话题,如何推广网站?推广网站有哪些方法?哪些方法比较有效?这些问题作为站长是不得不考虑的,今天巴巴奴和大家要谈的是如何利用问答平台做网络推广,比较有名问答平台有百度知道.soso问问.雅虎知识堂(只罗列几个比较常用的)百度知道对提高网站权重的效果最好,但现在审核比较严格,带网址基本通不过,所以问问这个平台不是巴巴奴