განაწილებული სისტემები (მრავალი კომპიუტერი, რომელიც ერთმანეთის საშუალებით მუშაობს ქსელზე) მნიშვნელოვან გამოწვევებს გამოიწვევს, რომლებიც ერთ მანქანაზე არ არსებობს — ქსელის არასანდოობა, ნაწილობრივი წარუმატებლობა, თანმიმდევრობა, კოორდინაცია და ა.შ. ამის გაგება აუცილებელია სკალის სისტემების დაპროექტებისთვის.
რატომ არის განაწილებული სისტემები რთული
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.
