ระบบกระจาย (คอมพิวเตอร์หลายเครื่องทำงานร่วมกันผ่านเครือข่าย) นำมาซึ่งความท้าทายที่มีนัยสำคัญซึ่งไม่มีอยู่ในระบบเครื่องเดียว — ความไม่น่าเชื่อถือของเครือข่าย, ความล้มเหลวบางส่วน, consistency, การประสานงาน และอื่น ๆ การเข้าใจสิ่งเหล่านี้จำเป็นต่อการออกแบบระบบในระดับขนาดใหญ่
ทำไมระบบกระจายจึงยาก
Multiple machines communicating over a NETWORK introduce fundamental challenges:
→ the NETWORK is unreliable (latency, packet loss, partitions) and not instant
→ PARTIAL FAILURES → some parts fail while others work (vs all-or-nothing on one machine)
→ no shared memory/clock → coordination is hard
→ "the network is reliable" etc. are FALLACIES — distributed systems break these assumptions.
