Розподілені системи (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% доступність при розриві мережі).

📚 Джерела