Update README.md

This commit is contained in:
2026-06-12 17:51:43 +00:00
parent 08fb2cdac7
commit 3c34450002

View File

@@ -896,6 +896,48 @@ score_for_removal = (1 - node.load) * 0.6 +
(node_uptime_hours / max_uptime) * 0.4
```
**Краевые условия и ограничения**
```sh
// Границы кластера
min_nodes = 1 // минимум 1 узел
max_nodes = 10 // максимум 10 узлов
// Ограничения на изменение
max_scale_up_nodes = 3 // за раз можно добавить не более 3 узлов
max_scale_down_nodes = 2 // за раз можно удалить не более 2 узлов
```
**Примеры работы алгоритма**
**Пример 1: Нагрузка растёт**
```sh
T=0: nodes=4, load=0.65, прогноз=0.68 → NoChange
T=30: nodes=4, load=0.72, прогноз=0.78 → NoChange
T=60: nodes=4, load=0.80, прогноз=0.85 → NoChange
T=90: nodes=4, load=0.88, прогноз=0.94 → ScaleUp(+2 узла)
T=120: nodes=6, load=0.78, прогноз=0.81 → NoChange (стабилизация)
```
**Пример 2: Нагрузка падает**
```sh
T=0: nodes=6, load=0.45, прогноз=0.42 → NoChange
T=30: nodes=6, load=0.38, прогноз=0.35 → NoChange
T=60: nodes=6, load=0.32, прогноз=0.29 → ScaleDown(-1 узел)
T=90: nodes=5, load=0.35, прогноз=0.33 → NoChange (стабилизация)
```
**Преимущества алгоритма PHA:**
1. Проактивность - прогнозирование предотвращает перегрузку до её наступления
2. Стабильность - moving average и cooldown предотвращают "маятник"
3. Гибкость - разные веса метрик позволяют адаптироваться под разные нагрузки
4. Безопасность - границы min/max и лимиты на скорость изменения
5. Эффективность - пропорциональное масштабирование (чем выше перегрузка, тем больше узлов)
```sh
# Просмотр статуса кластера (режим лидера)
futriix:~> status