SYSTEM DESIGN - EX99

10M users

100M sync per day

// challenge
1. high write volume (~1 to 1 read to write ratio) (PB cache)
2. high ACID requirement (perfect atomic & consistency)

1

2. Scale DB

3. Add notification server and metaserver to handle client polling.

4. (1) scale servers, (2) add memcache to reduce db load, (3) blockserver is far away from DB, and the DB query is long.

5. continue to scale

6

  1. Blockserver is far away from the DB, and it takes a long time to do DB query. => Sending request from Blockserver to metaserver can reduce DB query time.

  2. Polling consumes lots of resource frequently, and it is moved to independent servers.

// monitoring
1. server loading
2. request per sec
3. split & analysis of important actions resource consumption
4. bandwidth vs user

Last updated

Was this helpful?