ਇਕ ਵੱਡੇ ਪੱਧਰ ਦੀ ਪ੍ਰਣਾਲੀ ਡਿਜ਼ਾਈਨ ਕਰਨਾ ਬਹੁਤ ਸਾਰੇ ਸੰਕਲਪਾਂ ਨੂੰ ਮਿਲਾਉਣਾ ਸ਼ਾਮਲ ਹੈ — ਵਿਸ਼ਾਲ ਪੱਧਰ ਨੂੰ ਸੰਭਾਲਣਾ, ਢੁਕਵੀਂ ਆਰਕੀਟੈਕਚਰ ਚੁਣਨਾ, ਡੇਟਾਬੇਸ, ਕੈਸ਼ਿੰਗ, ਅਤੇ ਤਬਦੀਲੀਆਂ ਦਾ ਪ੍ਰਬੰਧਨ। ਇੱਕ ਠੋਸ ਉਦਾਹਰਣ (ਸੋਸ਼ਲ ਮੀਡੀਆ ਫੀਡ) ਦੀ ਵਰਤੋਂ ਇਸ ਗੱਲ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ ਕਿਸ ਤਰ੍ਹਾਂ ਟੁਕੜੇ ਇਕੱਠੇ ਆਉਂਦੇ ਹਨ।
ਉਦਾਹਰਣ: ਸੋਸ਼ਲ ਮੀਡੀਆ ਨਿਊਜ਼ ਫੀਡ
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)
