Назад | Перейти на главную страницу

Как несколько серверов резервного копирования работают в Nginx?

Для backup директива, документация Nginx состояния довольно минимально:

отмечает сервер как резервный сервер. Запросы будут передаваться, когда основные серверы недоступны.

Что если у вас есть несколько резервных копий и основной сервер выходит из строя, назначена ли одна из резервных копий новым основным? Или между ними будет Nginx Round Robin?

Контекст:

У меня есть основной сервер и несколько резервных копий, но все подключения всегда должны идти к одному и тому же основному или резервному. Вроде как ip_hash режим балансировки нагрузки, за исключением того, что он должен использовать тот же сервер для все связи и клиенты.

Хотя он не поддерживает серверы с несколькими резервными копиями в контексте, как ответил @Alberto Mendoza -

если вы размещаете резервные копии на другом VPS с балансировщиком нагрузки NGINX в его собственные резервные копии ... это работа, которую я в настоящее время использую для мультирегиональной сети.

upstream routing {
server main_server:8080 max_fails=2 fail_timeout=5;
server backupServer1:8080 max_fails=1 fail_timeout=5;
server backupServer2:8080 backup;

}

если ваш основной сервер не отвечает в течение 2 сбоев - он попытается сделать вашу первую резервную копию VPS - если по какой-то нечетной причине это DDOS или по какой-либо причине также не работает - он перейдет на ваш третий VPS .. Вы можете продолжить подключите последовательно по мере необходимости.

Я сделал тест и кажется что nginx не поддерживает серверы с несколькими резервными копиями.

upstream a {
    server main_server:8080 max_fails=2 fail_timeout=5;
    server backup1:8080 backup;
    server backup2:8080 backup;
}

Когда бы ни main_server:8080 не работает, backup1:8080 отвечает правильно. когда main_server:8080 и backup1:8080 не работают, в соединении отказано, и он никогда не backup2:8080.