Распределённые системы сложны прежде всего потому, что:
1. Состояние "размазано" между узлами.
2. Сами узлы ненадёжны.
Если удалить любой из этих пунктов, проблема становится легко решаемой, что мы и видим тотально в мэйнстриме: сложная система реализуется с учётом только одного пункта.
Для минимально взрослого понимания вам необходимо пройти оба трека: по параллельным вычислительным моделям, и теорию по highload-системам.
Потому что распределённое программирование сложнее параллельного по следующим причинам:
-- Каждый процесс имеет своё собственное адресное пространство.
-- Сеть имеет ограниченную производительность.
-- Некоторые ресурсы доступны лишь локально.
-- Распределённая система может давать частичный сбой.
-- Распределённая система считается открытой: в ней сосуществуют независимые пользователи и вычисления, что усложняет тему безопасности.
Применяем к данной теме фундаментальный принцип: разделяем проблему на идеальный случай и ряд неидеальных расширений; даю на курсе решение для идеального случая, и как модифицировать это решение для продуктивной обработки неидеальных расширений.
Post #1093
1.08K

- 👍 38
- 🔥 9
- ❤ 5
- 🫡 2
- 🐳 1