Группа серверов — совокупность серверов внутри кластера, которые объединяются в соответствии с определенной политикой. Под сервером подразумеваются ресурсы:
- виртуальные машины;
- инстансы БД;
- кластеры K8s;
- инстансы приложений.
Правила Affinity и Anti-Affinity позволяют размещать набор VM на разных или на одном хосте гипервизора в зависимости от требований.
Affinity - это правило совместного размещения ВМ на одной ноде, то есть на одном физическом сервере в кластере. Это можно использовать, если размещение на разных физических узлах не дает дополнительных преимуществ с точки зрения отказоустойчивости. Например, ВМ1 - сервер БД, а на ВМ2 расположено приложение, котрое работает с БД. В таком случае, если ВМ1 недоступна, то не имеет значения доступна ли ВМ2, так как приложение не будет работать без БД. В таком случае можно рассматривать вариант размещения на одном физическом узле, чтоб в теории повысить производительность. Это нужно тестировать ваше приложение, так как размещение на одном физическом узле обязательно приводит к повышению производительности, особенно если приложению и БД нужны большие ресурсы по CPU И RAM.
Не жёсткая аффинность(soft-affinity) — размещать ВМ по возможности на одном вычислительном узле (если места на одном узле недостаточно, вместо ошибки создания, как в случае с affinity, будет создан сервер на другом вычислительном узле);
Anti-affinity - это правило размещения ВМ на разных физических узлах. Например, у вас построен отказоустойчивый кластер либо вы распределяете нагрузку между ВМ (ВМ выполняют одинаковые задачи). В таком случае, рекомендуется размещать ВМ на разных физических узлах. В случае сбоя физического узла, доступные ВМ возьмут на себя обработку запросов.
Не жёсткая анти-аффинность(soft-anti-affinity) — размещать ВМ по возможности на разных вычислительных узлах.