Round Robin, Least Connections, and Consistent Hashing.
Rate limiting is a strategy used to control the amount of incoming and outgoing traffic to or from a network. It is used to prevent DoS attacks, manage resource allocation, and ensure fair usage of the system. A well-designed rate limiter protects the overall system stability without significantly impacting legitimate users. System Design Interview Fundamentals Rylan Liu Pdf
Caching reduces database load and slashes response times. Master the nuances of where to place caches (Client, CDN, Reverse Proxy, Application, or Distributed Cache like Redis) and eviction policies (LRU, LFU, FIFO). Additionally, understand data invalidation strategies: Round Robin, Least Connections, and Consistent Hashing
What are the system constraints? Target high availability, low latency, consistency models, and security parameters. A well-designed rate limiter protects the overall system
To succeed, you must follow a structured framework rather than jumping straight into drawing architecture diagrams:
Don't start designing immediately. Clarify constraints (users, traffic, latency).
| Trade‑off | Options | |-----------|---------| | | Choose based on CAP theorem – CP (strong consistency) vs. AP (high availability). | | Sync vs. Async | Use async processing (message queues, Kafka) for decoupling and resilience. | | Read‑heavy vs. Write‑heavy | Read‑heavy → cache + replicas. Write‑heavy → sharding + append‑only logs. | | Strong vs. Eventual consistency | Strong for payments, eventual for social feeds. |