digital-garden/_inbox/Куб масштабирования приложений.md

32 lines
2.6 KiB
Markdown
Raw Normal View History

2024-06-13 21:01:37 +03:00
---
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.
2024-06-20 21:54:23 +03:00
> Похоже на [Шардирование в БД](Шардирование%20в%20БД.md)
2024-06-13 21:01:37 +03:00
![](Pasted%20image%2020240412202007.png)
## Масштабирование по оси Y
Масштабирование по осям X и Z увеличивает мощность и доступность приложения. Но ни один из этих подходов не решает проблем с усложнением кода и процесса раз­ работки. Чтобы справиться с ними, следует применить масштабирование по оси У, или функциональную декомпозицию (разбиение). Монолитное приложение разбивается на отдельные сервисы.
![](99a03ca9-8253-4085-912e-459dd62f839d.jpg)