Куб масштабирования Очень удобная и полезная штука. Почему? Потому что простым языком, буквально на пальцах, объясняет принципы масштабирования приложений.
Итак, у нас есть 3 оси масштабирования:
X – распределение запросов между несколькими экземплярами. Горизонтальное масштабирование
Z – распределение запросов в зависимости от их атрибутов. Шардирование
Y – декомпозиция приложения на сервисы с разными функциями. Распил на микросервисы
Подробнее об этом можно почитать в книге «Микросервисы. Паттерны разработки и рефакторинга» Криса Ричардсона. В ней на самом деле много чего интересного и полезного. А сама модель была разработана Мартином Фаулером и Джеймсом Льюисом для визуализации аспектов масштабирования.
Как это работает? Обычно сначала пилят mvp в виде монолита и масштабируют его по осям X и Z, чаще всего этих манипуляций достаточно. Но если вдруг это не помогает, то тут уже смотрят в сторону оси Y.
Да, модные и молодежные микросервисы, которые сейчас используются везде, на самом деле не панацея и не самый лучший подход. Но это уже совсем другая история. Хочешь больше коротких, но полезных постов? Жми 🙈