MVP:
- Direct
- channel: group
- multimedia msg
- link preview
Goal:
- high available
- High Reliable
- Consistent
- High-performance: real-time
Bonus:
Non-Goals:
Constraints
MVP:
- DAU: 10M
- peak msg: 10M * 5 * 100 / 86400 = 50k msg/s
- one msg 100 bytes
- throughput: 50k * 0.1MB -> 100MB/s
- storage: 100MB/s * 86400 + 10TB
- group chat#: 1000
Scale:
- QPS:
-
Data: bandwidth for each:
- CPU uti rate
- mem uti rate
- disk uti rate
- netowork bandwidth
1000 QPS -> more than 1 server, needs partitions, 1k - 10k QPS: 1M(read-only)
Storage: 1 MySQL Server: 100GB Btree level3: 50GB, level4: TB