Distributed system (nhiều máy tính làm việc cùng nhau qua một network) mang lại những thách thức đáng kể không tồn tại trong hệ thống một máy — network không đáng tin cậy, partial failure, consistency, coordination, và nhiều thứ khác. Hiểu những điều này là thiết yếu để thiết kế hệ thống ở quy mô lớn.
Tại sao distributed system khó
Nhiều máy giao tiếp qua một NETWORK đưa vào những thách thức cơ bản:
→ NETWORK không đáng tin cậy (latency, mất gói, partition) và không tức thời
→ PARTIAL FAILURE → một số phần lỗi trong khi cái khác hoạt động (vs tất-cả-hoặc-không trên một máy)
→ không có bộ nhớ/đồng hồ chung → coordination khó
→ "network là đáng tin cậy" v.v. là những NGỘ NHẬN — distributed system phá vỡ những giả định này.
