System Design Notes

Scalability

The ability of a system to handle growing amounts of load or traffic by scaling horizontally or vertically.

Caching

Store frequently accessed data in-memory to reduce latency. Tools: Redis, Memcached.

Load Balancing

Distribute requests across servers to ensure no server is overwhelmed. Ex: NGINX, HAProxy.

Database Sharding

Splitting large databases into smaller, faster, and more manageable parts called shards.

Rate Limiting

Controls how many requests a user can make. Prevents abuse and DDoS attacks.

if (requests > limit) return 429;
Can’t find what you're looking for? Request a topic