Что такое вертикальное масштабирование в архитектуре систем

Ответ

Вертикальное масштабирование (Scale-Up) — это способ увеличения производительности системы путем добавления ресурсов (CPU, RAM, SSD) к одному существующему серверу.

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

Ключевые характеристики:

  • Принцип: Увеличение мощности одной машины.
  • Пример: Замена сервера с 4 ядрами CPU и 16 ГБ ОЗУ на сервер с 16 ядрами и 64 ГБ ОЗУ.
  • Простота: Часто не требует изменений в коде приложения, так как архитектура остается прежней.

Преимущества и недостатки:

  • (+) Простота: Легче в реализации и управлении по сравнению с горизонтальным масштабированием.
  • (-) Ограничения: Существует физический предел мощности одного сервера, и его стоимость растет нелинейно.
  • (-) Единая точка отказа (SPOF): Если единственный сервер выходит из строя, вся система перестает работать.

Вертикальное масштабирование хорошо подходит для приложений с состоянием (stateful), например, для большинства реляционных баз данных (PostgreSQL, MySQL), где распределение данных на несколько узлов является сложной задачей.