A structured approach to designing large-scale distributed systems. Apply these principles when architecting new services, reviewing system designs, estimating capacity, or preparing for system design discussions.
Start with requirements, not solutions. Every system design begins by clarifying what you are building, for whom, and at what scale. Jumping to architecture before understanding constraints produces over-engineered or under-engineered systems.
The foundation: Scalable systems are not invented from scratch -- they are assembled from well-understood building blocks (load balancers, caches, queues, databases, CDNs) connected by clear data flows. The skill lies in choosing the right blocks, sizing them correctly, and understanding the tradeoffs each choice introduces. A four-step process -- scope, high-level design, deep dive, wrap-up -- keeps the design fo...
Diseñe sistemas distribuidos escalables utilizando enfoques estructurados para equilibrio de carga, almacenamiento en caché, escalado de bases de datos y colas de mensajes. Úselo cuando el usuario mencione "diseño del sistema", "escalar esto", "alta disponibilidad", "limitador de velocidad" o "diseñar un acortador de URL". Cubre diseños de sistemas comunes y estimaciones preliminares. Para conocer los fundamentos de los datos, consulte ddia-systems. Para mayor resiliencia, consulte liberarlo. Fuente: wondelai/skills.