# Terminologies in System Design

- Scaling: Horizontal and vertical 
  - Caching
  - Load Balencing
  - Database replication and partitioning
 
- Asynchronism
- Throughput latency
- Performance vs scalability
- Availability vs Consistency

CAP Theorem

Failover

CDN

Reverse Proxy: useful but single point of failure, High Availability Pairs exist for load balancers

Microservices
Master Slave terminologies

Sharding

REST APIs
