跳到主要内容

Will Larson 从 Digg v4 灾难性启动中获得的教训

Digg 从 v3.5 到 v4 的灾难性启动实际上是相当雄心勃勃的。Digg 曾受到谷歌 Panda 算法更新的严重打击。而推出 v4 是他们重新回到互联网巨头之中的机会。

因此没有回滚计划,意外的规模问题发生了。

  1. 存在 Cassandra 瓶颈 -> 实现了写透缓存 memcache
  2. 然而,MyNews 页面每四小时仍然会崩溃
  3. 在 Redis 中重写 MyNews,并秘密删除多余的数据以保持网站运行
  4. 花了一个月的时间追踪 Python tornado 后端服务中的错误,并且有某种 API 使用可变默认值作为参数,例如
def get_user_by_names_or_ids(names=[], ids=[])

这会导致内存泄漏 - 如果你改变这些参数,变更会跨调用延续。累积的数据甚至会导致 memcache 集群崩溃。

References: