Proiectarea unui sistem la scară mare implică combinarea multor concepte — gestionarea scalei masive, alegerea unei arhitecturi adecvate, baze de date, cache, și gestionarea compromisurilor. Folosind un exemplu concret (un feed de știri pe rețele sociale) ilustrează cum se conectează elementele.
Exemplu: un feed de știri pe rețele sociale
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)
