La conception d'un système à grande échelle implique de combiner de nombreux concepts — gérer une scale massive, choisir une architecture appropriée, les bases de données, la mise en cache et gérer les compromis. L'utilisation d'un exemple concret (un flux d'actualités de médias sociaux) illustre comment les pièces s'assemblent.
Exemple : un flux d'actualités de médias sociaux
Requirements: millions of users; post content; see a feed of followed users' posts;
read-HEAVY (far more feed views than posts); low latency; high availability.
High-level components:
→ CLIENTS → LOAD BALANCER → APPLICATION servers (stateless, horizontally scaled)
→ DATABASES → user/post data (sharded); a graph of follows
→ CACHING (Redis) → hot feeds, posts, user data (crucial for read-heavy load)
→ CDN → media (images/videos)
→ MESSAGE QUEUES → async work (fan-out, notifications)
