--- aliases: - cube scaling - Куб масштабирования приложений tags: - maturity/🌱 date: - - 2024-04-12 --- Для [[../../meta/zero/00 HighLoad|систем с высокой нагрузкой]] [[Масштабирование информационной системы|масштабирование]] является ключевым аспектом архитектурного проектирования. Концепция масштабирования по осям X, Y и Z помогает понять, как распределить нагрузку и обеспечить стабильность работы приложения. ![](../../meta/files/images/cfac08bc-c9b0-4894-ab40-7e319c5bc13b.jpg) ## Масштабирование по оси Х Масштабирование по оси X — это увеличение количества одинаковых экземпляров приложения, работающих за [[highload/Балансировка нагрузки|балансировщиком нагрузки]]. Этот подход соответствует понятию [[highload/Горизонтальное масштабирование|горизонтального масштабирования]]. **Как это работает**: Запросы от клиентов распределяются [[highload/Балансировка нагрузки|балансировщиком]] между несколькими идентичными экземплярами системы. **Основная цель**: - Увеличение [[Throughput|пропускной способности]]. - Повышение [[../../../../_inbox/Reliability|отказоустойчивости]] за счет резервирования. **Пример применения**: [[Монолитная архитектура|Монолитные приложения]], где запуск дополнительных экземпляров не требует изменения кода. ![](../../meta/files/images/df56a7dd-ec73-4188-9502-8b6db06762f6.jpg) ## Масштабирование по оси Z Масштабирование по оси Z предполагает разделение системы на подмножества данных, где каждый экземпляр приложения отвечает за обработку определенного набора данных. **Как это работает**: Входящий запрос направляется маршрутизатором к соответствующему экземпляру на основании определенного атрибута (например, `userid` или региона). **Основная цель**: - Уменьшение нагрузки на каждый экземпляр. - Ускорение обработки запросов за счет уменьшения объема данных, с которыми работает каждый узел. **Пример применения**: [[../../../../_inbox/Шардирование БД|Шардирование]] баз данных, где данные распределяются между разными серверами. ![](../../meta/files/images/Pasted%20image%2020240412202007.png) ## Масштабирование по оси Y Масштабирование по оси Y основывается на функциональной [[Декомпозиция на микросервисы|декомпозиции системы]]. Вместо дублирования или разделения данных приложение разбивается на отдельные модули или сервисы. **Как это работает**: Монолитное приложение делится на самостоятельные модули или микросервисы, каждый из которых отвечает за свою часть функционала. **Основная цель**: - Упрощение разработки и поддержки системы. - Устранение узких мест, связанных с усложнением монолита. **Пример применения**: [[../../../../wiki/zero/00 Микросервисная архитектура|Микросервисная архитектура]], где каждый сервис обрабатывает свои задачи (например, управление пользователями, обработка платежей, логирование). ![](../../meta/files/images/99a03ca9-8253-4085-912e-459dd62f839d.jpg) *** ## Мета информация **Область**:: [[../../meta/zero/00 Архитектура ИС|00 Архитектура ИС]] **Родитель**:: [[Масштабирование информационной системы]] **Источник**:: **Автор**:: **Создана**:: [[2024-04-12]] ### Дополнительные материалы - ### Дочерние заметки