Reddit如何可以承受每月2.7亿PV

标签: reddit pv | 发表时间:2014-08-20 12:38 | 作者:
出处:http://news.cnblogs.com/

英文原文: 7 Lessons Learned While Building Reddit To 270 Million Page Views A Month

   这篇文章有点老,是 2010 年的。

Reddit 在美国年轻人中很受欢迎,感觉 黃易山做 CEO 后更蒸蒸日上了。

相信这 4 年间,他们面临的 scalability 的问题更严峻,一些架构可能都推倒重来了。但文中提到的 7 条经验,还是很实用的。

  • Crash Often:web server 的进程常常会莫名其妙地挂掉(可能有哪个 exception 没被 catch 到,或者用太多内存被操作系统的 OOM killer 给干掉之类的)。 Reddit 用 supervise 来启动并监控进程,如果进程挂了,自动重启。现在是 2014 年了,感觉 supervisord 用得比较多点。
  • Separation of Services:也就是 service oriented architecture。有几个显而易见的好处(临时头脑风暴的,不全面):1)同一个 service 访问数据库的 access pattern 比较 predictable,方便 cache; 2)哪个 service 比较吃力了,只给那个 service 加机器就行;3)fault isolation;4)不同的 service 可以在不同时间部署新代码。
  • Open Schema:他们用 postgres 做数据库服务器,但只有一个表,叫 Thing。什么东西都是一个 thing,包括 user, link, comment 等。靠 python 代码来保证数据的完整性一致性。 这是很宝贵的经验。现在的趋势是,很多公司都用 mysql 或 postgres,但都把他们当做 key/value store 来用。
  • Keep it Stateless:每台 app/web server 都不存状态,而是把状态保存到 memcache 中。这样的话,某台 app server 挂了就挂了,再起一台新的就是了。
  • Memcached:他们把 memcached 用到了极致 - 缓存数据库中来的数据、session data、rendered page、还有一堆 precomputed data。
  • Store Redundant Data:他们 precompute 了各种东西,空间换时间。各种排好序的 list 都缓存(按时间排序、按 upvote 的数量排序、按评论数排序等)。
  • Work Offline:异步处理一些没必要在线处理的东西,比如生成缩略图、发邮件之类的。

Reddit 网站代码竟然是 开源的,有兴趣可以读一下。

本文链接

相关 [reddit pv] 推荐:

Reddit如何可以承受每月2.7亿PV

- - 博客园_新闻
英文原文: 7 Lessons Learned While Building Reddit To 270 Million Page Views A Month.    这篇文章有点老,是 2010 年的. Reddit 在美国年轻人中很受欢迎,感觉 黃易山做 CEO 后更蒸蒸日上了. 相信这 4 年间,他们面临的 scalability 的问题更严峻,一些架构可能都推倒重来了.

Reddit 2012 数据:370亿PV,4亿独立访客,3000万篇文章

- - 36氪 | 关注互联网创业
Reddit 刚刚在 博客里公布了最新数据,2012年该网站共获得了370亿PV和4亿独立访客,用户发布文章(包括图片、视频)3000万篇,这些文章一共获得40亿的投票(顶、踩)-平均每篇133个. Reddit是YC投资的 最成功公司之一,2007年被Conde Nast收购. 今年 1月份,这家社会化新闻聚合网站月浏览量超过 20 亿,独立访客数量近 3500 万.

个位数团队,Reddit如何获得560亿PV、7.3亿用户?

- - 创业邦
  作为全球领先的社区新闻和社交网站,Reddit在2013年就拥有7.3亿独立用户,560亿PV,用户遍及全球186个国家. 拥有如此庞大的用户群与访问量,很多人可能认为其社区管理团队必定也是非常庞大的. 但令人惊讶的是,该团队还保持在个位数!那么,Reddit究竟是如何做到的呢?Reddit总经理、前任社区管理员Erik Martin将和我们分享其中的运营管理经验.

重写Reddit

- - 博客园_新闻
英文原文: Rewriting Reddit. 2012 年注:本文首发于 2005 年. 发布之后,Django 上线了一个 RemovingTheMagic 项目,提出了我的一些质疑(尽管我本人发现它仍然不可用), web.py 促进了 FriendFeed 的. tornado.web 和 Google 的.

根据PV计算带宽及根据PV算并发

- - 企业架构 - ITeye博客
我们通常说的网站流量(traffic)就是指网站的访问量,是用来描述访问一个网站的用户数量以及用户所浏览的网页数量等指标,常用的统计指标包括网站的独立用户数量、总用户数量(含重复访问者)、网页浏览数量、每个用户的页面浏览数量、用户在网站的平均停留时间等. 网站访问量的衡量标准一个是IP,另一个是PV,常以日为标准,即日独立IP和PV来计算..

Reddit审查“未成年少女”

- 微笑!?~ - Solidot
Reddit以“危险到社区结构完整性”为名正式关闭了一个子群组“r/jailbait”. jailbait是美国英语俚语,指未到法定年龄的年轻少女,但身体发育已经成熟,会被误以为是成年人. 关闭jailbait引发了言论自由的争论,但有人指出,Reddit是私人经营的网站,它有权阻止一些它不想要的言论.

数学之美:Reddit的排名算法

- - 标点符
上一篇文章介绍了 Hacker News 的排名规则. 这次要介绍的是另外一个社会化新闻类网站 Reddit. Reddit对文章和评论使用了不同的排名算法,这边文章要介绍的是前者,后面的关于评论的排名在后面的文章作再作介绍. Reddit与Hacker News有很大的不同点就是,Hacker News文章标题前面只有一个向上的小箭头,即只能投赞成票,而Reddit的每个文章标题前会有两个箭头,即一个向上,一个像下.

Reddit排名算法工作原理

- - 博客园_新闻
英文原文: How Reddit ranking algorithms work. 这是一篇继《 Hacker News 排名算法工作原理》之后的又一篇关于排名算法的文章. 这次我将跟大家探讨一下 Reddit 的文章排名算法和评论排名算法的工作原理. Reddit 使用的算法也是很简单,容易理解和实现.

使用rrdtool统计网站PV和IP

- - Linux - 操作系统 - ITeye博客
现在网站服务器已经使用snmp进行监控,已经对CPU,内存,流量等进行了监控,但觉得还需要加一项监控,就是网站的PV和IP的监控,这样可以快速知道服务器负载上升是否是网站访问量增加的原因. 这几天初学 rrdtool,这个工具既能存储数据,又能画图,非常的方便. 下面是统计近一天的pv和ip图.

温故而知新「Fate/Zero」 PV+CM大回顾

- Adam - 和邪社
凌晨备受关注的10月新番《Fate/Zero》就要在nico上做8字幕全球放送了,在正是面相大家前. 大家再来回顾一下此前Fate/Zero为了宣传造势而制作的两段PV和连续7弹的CM吧.