Step 1: Optimize 优化

  • 解决设计缺陷 Solve Problems
    • Pull vs Push
  • 更多功能设计 More Features
    • Like, Follow & Unfollow, Ads
  • 一些特殊情况 Special Cases

    • 鹿晗关晓彤搞挂微博, 僵尸粉

      Step 2: Maintenance 维护

  • 鲁棒性 Robust

    • 如果有一台服务器/数据库挂了怎么办
  • 扩展性 Scalability
    • 如果有流量暴增,如何扩展

      什么时候用 Push?

  1. 资源少
  2. 想偷懒,少写代码
  3. 实时性要求不高
  4. 用户发帖比较少
  5. 双向好友关系,没有明星问题(比如朋友圈)

    什么时候用 Pull ?

  6. 资源充足

  7. 实时性要求高
  8. 用户发帖很多
  9. 单向好友关系,有明星问题