32 lines
2.6 KiB
Markdown
32 lines
2.6 KiB
Markdown
---
|
||
aliases:
|
||
tags:
|
||
- зрелость/🌱
|
||
date:
|
||
- - 2024-04-12
|
||
zero-link:
|
||
- "[[00 Архитектура ПО]]"
|
||
parents:
|
||
linked:
|
||
---
|
||
Эта модель определяет три направления для масштабирования приложений: X, Y, Z.
|
||
|
||
![](cfac08bc-c9b0-4894-ab40-7e319c5bc13b.jpg)
|
||
|
||
## Масштабирование по оси Х
|
||
Масштабирование по оси X часто применяют в монолитных приложениях. Запускаются несколько экземпляров программы, размещенных за балансировщиком нагрузки. Балансировщик распределяет запросы между N одинаковыми экземплярами. Это отличный способ улучшить мощность и доступность приложения. Это [горизонтальное масштабирование](Горизонтальное%20масштабирование.md).
|
||
|
||
![](df56a7dd-ec73-4188-9502-8b6db06762f6.jpg)
|
||
## Масштабирование по оси Z
|
||
Масштабирование по оси Z тоже предусматривает запуск нескольких экземпляров монолитного приложения, но в этом случае, в отличие от масштабирования по оси X, каждый экземпляр отвечает за определенное подмножество данных.
|
||
|
||
Маршрутизатор, выставленный впереди, задействует атрибут запроса, чтобы на править его к подходящему экземпляру. Для этого, к примеру, можно использовать поле userid.
|
||
|
||
> Похоже на [Шардирование в БД](Шардирование%20в%20БД.md)
|
||
|
||
![](Pasted%20image%2020240412202007.png)
|
||
|
||
## Масштабирование по оси Y
|
||
Масштабирование по осям X и Z увеличивает мощность и доступность приложения. Но ни один из этих подходов не решает проблем с усложнением кода и процесса раз работки. Чтобы справиться с ними, следует применить масштабирование по оси У, или функциональную декомпозицию (разбиение). Монолитное приложение разбивается на отдельные сервисы.
|
||
|
||
![](99a03ca9-8253-4085-912e-459dd62f839d.jpg) |