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

32 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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)