# 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