Резервирование проксируемых серверов#
В Angie ADC поддерживается использование нескольких backup-групп проксируемых серверов .
Уровень резервирования backup-группы можно задать с помощью директивы backup=n
в блоках stream и http.
Например backup=1 (или просто backup) — группа резервных серверов первого уровня,
(в API отображается как true), backup=2 — группа резервных серверов второго уровня,
(в API отображается как соответствующее число).
Для SRV-записей уровень резервирования группы можно задать двумя способами:
С помощью директивы
backup=prioкак абсолютное значение.В этом случае значение приоритета
priority=nиз SRV-записи будет использовано в качестве уровня резервной группы:backup=n.Через относительное значение приоритета
priority=nиз SRV-записи.В этом случае директива
backup=nзадает базовый уровень отсчета (напримерbackup=3), а относительные уровни резервирования отсчитываются от этого уровня. Сервер с наименьшим значениемpriorityполучит уровеньbackup=3, следующий за ним —backup=4и так далее. Если уровень отсчетаbackup=nне задан, отсчет будет идти от нуля: сервер с наименьшим значениемpriorityполучитbackup=0и станет основным, за ним —backup=1, резервный, и так далее.
Директива backup_switch permanent дает возможность
backup-группе проксируемых HTTP-серверов
оставаться активной, когда серверы из основной группы стали снова доступными.
Например, вы можете указать permanent=2m,
чтобы балансировщик нагрузки не пытался вернуться на основную группу чаще, чем раз в две минуты.
Если указать параметр permanent без значения, то балансировщик нагрузки не будет пытаться
вернуться на основную группу после перехода на резервную.
Функциональность backup_switch permanent реализована для http и stream.
Пример:
upstream my_backend {
server primary1.example.com;
server primary2.example.com;
server backend.example.com service=http resolve backup=prio;
server backup1a.example.com backup;
server backup1b.example.com backup;
server backup2a.example.com backup=2;
server backup2b.example.com backup=2;
backup_switch permanent=2m;
}