HA exige componentes redundantes: vários servidores de app atrás de um balanceador, replicação de DB e shared-nothing onde possível. Planeje a falha de qualquer componente; teste failover periodicamente.
Eliminar pontos únicos de falha
- Camada de app: Dois ou mais servidores de app atrás de um balanceador; se um falhar, o tráfego vai para os outros.
- Camada DB: Primário-réplica ou cluster; failover automático ou manual com perda mínima (dentro do RPO).
- Balanceador: Use LB gerenciado ou par; evite um único LB como único ponto de entrada quando possível.
Shared-nothing e estado
- Servidores de app stateless: Sem estado de sessão local; escale horizontalmente e substitua instâncias sem afinidade.
- Estado em store compartilhado: Sessão em Redis/DB; cache em Redis ou Memcached para qualquer nó servir.
- Evite estado em nó único que tornaria um servidor insubstituível sem migração.
Testar failover
- Testes periódicos: Simule falha de nó (ex.: pare um servidor de app) e verifique comportamento do LB e da app.
- Failover de DB: Teste promoção de réplica a primário; verifique reconexão da app e consistência dos dados.
- Runbooks: Documente como acionar e verificar failover; quem está de plantão e escalação.
Resumo
HA = servidores de app redundantes + balanceador + replicação de DB + estado compartilhado quando necessário. Teste failover com frequência e mantenha runbooks atualizados.




