Design Twitter

https://www.hiredintech.com/classrooms/system-design/lesson/72

 

user's browser / mobile App => Load Balancer => AppSrv1, AppSrv2, AppSrv3, ... => DB

Load Balancer:

  User => DNS load balancing, CDN => Software Load Balancer (nginx) => App Servers (Apache, Tomcat, Django..) => DB Cache => DB.

Database Sharding:

  application level (driven by config or some implicit rule e.g. tweet id's some bits)
  library level
  existing product, 

Database Schema:

  Users, Tweets, Followers, Favorites

Indexes on each table

posted @ 2016-10-10 21:24  qsort  阅读(175)  评论(0编辑  收藏  举报