Не смотря на то, что компьютеры - очень мощные (https://thume.ca/2023/01/02/one-machine-twitter/), в какой-то момент происходит переход от запуска софта на одной машине к распределению её на несколько. В некоторых компаниях это ещё используют и в качестве собеседования под названием system design.
Какие типовые проблемы будут при переходе от 1 к N?
- дополнительные затраты на сеть (100 ns на память vs 10,000 ns на отправку данных по сети)
- организация общего хранилища данных
- распределение нагрузки запросов
Как обычно, здесь снова речь про типовую web разработку, но в реальности видов распределённых систем больше:
- DNS под неё подпадает
- есть кластер для распределения только вычислений
- масштабирование баз данных на несколько машин отдельный сложный вопрос
Что дальше
context:: software architecture problem:: масштабирование сервисов
Источники
Как улучшить
- [ ]