Update README.md
This commit is contained in:
42
README.md
42
README.md
@@ -896,6 +896,48 @@ score_for_removal = (1 - node.load) * 0.6 +
|
|||||||
(node_uptime_hours / max_uptime) * 0.4
|
(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
|
```sh
|
||||||
# Просмотр статуса кластера (режим лидера)
|
# Просмотр статуса кластера (режим лидера)
|
||||||
futriix:~> status
|
futriix:~> status
|
||||||
|
|||||||
Reference in New Issue
Block a user