Распределенные приложения

Распределенное приложение — это приложение, функциональность которого разделена на множество более мелких независимых частей. Распределенные приложения обычно состоят из отдельных микросервисов, которые решают различные задачи. В облачной среде отдельные компоненты, как правило, выполняются в виде контейнеров в кластере.

Какую проблему решает

Приложение, работающее на одном компьютере, — это единая точка отказа: если этот компьютер выходит из строя, приложение становится недоступным. Распределенные приложения зачастую противопоставляются монолитным. Монолитное приложение обычно сложнее масштабировать, так как его компоненты невозможно масштабировать независимо друг от друга. Кроме того, по мере своего роста монолитные приложения все сильнее тормозят разработку, поскольку растет число разработчиков, которым приходится работать над общей кодовой базой, а у нее не всегда есть четко определенные границы.

Как именно решает проблему

Разбивая приложение на части и запуская их на разных машинах, мы повышаем устойчивость системы к сбоям. Этот подход также позволяет воспользоваться способами масштабирования, которые недоступны приложениям с единственным экземпляром, а именно — горизонтальным масштабированием. Однако за это приходится платить: поскольку вместо одного приложения выполняется множество его компонентов, растут сложность и операционные издержки.


Последнее изменение August 1, 2024: [ru] Localize distributed-apps.md (#3125) (37e55e9)