Розподілені системи (Distributed Systems)
Розподілена система — це група незалежних комп'ютерів, які виглядають для користувача як єдине ціле.
Дозволяє значно прискорити відображення контенту на мобільних пристроях з повільним інтернетом.
graph LR
Center["Розподілені системи (Distributed Systems)"]:::main
Rel_design_pattern["design-pattern"]:::related -.-> Center
click Rel_design_pattern "/terms/design-pattern"
Rel_function["function"]:::related -.-> Center
click Rel_function "/terms/function"
Rel_von_neumann_architecture["von-neumann-architecture"]:::related -.-> Center
click Rel_von_neumann_architecture "/terms/von-neumann-architecture"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Простими словами
Уявіть, що ви замовили дуже важку шафу. Один вантажник не зможе її підняти, але четверо — спокійно перенесуть. Розподілена система — це ці четверо вантажників, які діють злагоджено, щоб виконати роботу, яка не під силу жодному з них окремо.
🤓 Expert Deep Dive
На технічному рівні ми розрізняємо три типи масштабування: Вертикальне (більше RAM/CPU в один сервер) та Горизонтальне (більше серверів). Розподілені системи фокусуються на горизонтальному масштабуванні. Головна проблема тут — 'Узгодженість даних'. Як зробити так, щоб користувач в США і користувач в Україні бачили абсолютно однаковий стан системи в одну і ту ж мілісекунду? Це вимагає складних алгоритмів реплікації та розуміння CAP-теореми (що ви не можете мати одночасно ідеальну узгодженість і 100% доступність при розриві мережі).