Você usaria algo como keepalived para configurar IPs flutuantes entre dois servidores NGINX.
A configuração keepalived pode estar ativa-ativa se você dividir os endereços IP entre os dois hosts e configurar duas instâncias de VRRP.
Ou você pode ficar ativo-passivo se colocar todos os endereços IP em um único host e configurar apenas uma instância do VRRP.
Cada servidor NGINX teria a mesma configuração e você pode configurar um script para copiar os arquivos de configuração entre os servidores.
O failover de keepalive em si é muito rápido. Perco um único ping ao fazer um failover, pois o cache ARP no meu core switch é atualizado com o novo endereço MAC do endereço IP.
Espero que isso ajude!