TGViewer
Соло, научи меня | Системный анализ Соло, научи меня | Системный анализ @solo_teach · 394 subscribers
Post #731 55
📖 Ванечка выбирает, как масштабировать

В понедельник у ПиццаЕдинорога лёг сайт заказов🤪

Не подтормаживал, а именно лёг, наглухо, ровно в тот момент, когда на него пришло больше людей, чем обычно.

Ванечка решил проблему быстро: зашёл в панель облака и переключил тариф на сервер помощнее, больше памяти, больше ядер, больше диска.

Неделю всё летало. Потом трафик снова вырос, Ванечка снова полез в панель, а там уже некуда, он упёрся в самый жирный тариф, который вообще существует. Ванечка сидел и смотрел на кнопку улучшить, которая больше ничего не улучшала.

👍ПиццаЕдинорог как раз вытаскивал противень из печи.

- Ванечка, у нас поток вырос вдвое. Что делаешь с печью?
- Куплю печь побольше.
- Купил. Поток снова вырос. Что делаешь?
- Ещё побольше...
- В какой-то момент печь перестанет влезать в кухню.
- И что тогда?
- Тогда ставишь вторую печь, вот и всё различие. То, что ты делал, называется вертикальное масштабирование: увеличиваешь характеристики той же машины, память, процессор, хранилище. Просто, переписывать ничего не надо. Так чаще всего масштабируют SQL-базы и приложения с состоянием, потому что растащить состояние по нескольким машинам и удержать его согласованным очень сложно. Но потолок есть всегда, ты в него только что упёрся.
- А вторая печь это...
- Горизонтальное масштабирование. Добавляешь машины и распределяешь нагрузку между ними.
- Так, а как клиент поймёт, на какую машину идти? Я же не могу выдать людям два разных IP и сказать: выбирайте сами, к какой печи вставать.
- Не можешь. Поэтому на входе стоит администратор, в системах он называется балансировщик нагрузки. Все клиенты обращаются к нему одному, он принимает входящий поток и отправляет каждый заказ на наименее загруженную печь. Клиент вообще не знает, сколько у нас печей, три или триста.
- И что чаще используют в реальности?
- Горизонтальное, почти всегда. Вертикальное это первая помощь, на стратегию оно не тянет.


Ванечка поднял три инстанса, поставил перед ними балансировщик и впервые за неделю выспался.
💛💛💛💛💛
Что важно запомнить:
➡️ Вертикальное масштабирование это увеличить мощность одной машины, просто, но упирается в потолок
➡️ Горизонтальное это добавить машины и распределить нагрузку, потолка практически нет
➡️ Клиенту нельзя раздавать разные IP, поэтому перед серверами стоит балансировщик нагрузки
➡️ В реальном мире большую часть времени используют горизонтальное масштабирование
💛💛💛💛💛
      🔸🔸🔸🔸🔸🔸

Вертикальное (scale up):
⚫️Что делаем: докидываем RAM, CPU, диск на ту же машину
⚫️Плюс: код менять не надо, состояние живёт в одном месте
⚫️Минус: жёсткий физический потолок, машина остаётся единой точкой отказа
⚫️Где применяют: SQL-СУБД, stateful-приложения, там, где согласованность состояния важнее

Горизонтальное (scale out):
⚫️Что делаем: добавляем инстансы и раскидываем нагрузку
⚫️Плюс: масштабируется дальше, отказ одной машины не роняет систему
⚫️Минус: нужен балансировщик, состояние приходится выносить наружу, в кэш или БД
⚫️Где применяют: stateless-сервисы, веб-приложения, микросервисы

Как работает балансировщик:
⚪️Было: 8 клиентов, 1 сервер, перегрузка.
⚪️Стало: 8 клиентов идут в балансировщик, он отправляет 4 на сервер 1 и 4 на сервер 2. Балансировщик сам определяет, какой сервер наименее загружен.

Что спросить на аналитике: хранит ли приложение состояние в памяти инстанса. Если хранит, горизонтально его не размножить, пока состояние не вынесут наружу. Это ограничение архитектуры, и всплывать оно должно на этапе требований, а не на нагрузочном тесте.
💛💛💛💛💛

😐 А вы упирались в потолок вертикального масштабирования? Как выкручивались?
💛💛💛💛💛
Потренировать сбор требований 

Где ещё я пишу:

YouTube
ВКонтакте
Сетка
Instagram*
Boosty

*Instagram принадлежит компании Meta, признанной экстремистской и запрещённой в РФ

#ВанечкаИЕдинорог #СистемныйАнализ #SystemDesign #Масштабирование #Обучение
  • 🔥 5
  • ❤ 3
  • 👏 3
More from @solo_teach
  1. Sep 18, 2026🙂🙂🙂🙂, или что за чем происходит🤩 На созвонах в IT это слово звучит постоянно: давай р…
  2. Sep 17, 2026💛Ссылка на Вебинар, старт в 19:00
  3. Sep 17, 2026Post #728
  4. Sep 17, 2026😳 17.09 в 19:00 практикум: заменит ли ИИ системного аналитика? Разберём на примерах: что…
  5. Sep 16, 2026Ванечка путает задержку и пропускную способность Ванечка защищал требования к новой систем…
  6. Sep 15, 2026Однажды я крепко накосячил дома. Не буду расписывать, что именно натворил 😐 Скажу так: бы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →