การออกแบบ ระบบขนาดใหญ่ เกี่ยวข้องกับการรวมแนวคิดต่าง ๆ มากมายเข้าด้วยกัน — การจัดการกับขนาดมหาศาล การเลือกสถาปัตยกรรม ฐานข้อมูล caching ที่เหมาะสม และการจัดการข้อแลกเปลี่ยน การใช้ตัวอย่างที่เป็นรูปธรรม (feed ของโซเชียลมีเดีย) แสดงให้เห็นว่าชิ้นส่วนต่าง ๆ มารวมกันอย่างไร
ตัวอย่าง: news feed ของโซเชียลมีเดีย
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)
