active-active vs. active-passive
expressãoredesnuvem
As duas formas de alta disponibilidade: os dois nós servindo tráfego, ou um servindo enquanto o outro espera.
Ativo-passivo é mais simples de raciocinar e deixa metade do hardware ociosa; ativo-ativo usa tudo e dobra os modos de falha - notavelmente o risco de cada nó funcionar bem sozinho sem que o par consiga combinar quem é dono do quê. Pares de HA do BIG-IP, clusters de firewall e bancos de dados lutam todos contra o mesmo dilema.
Ativo-passivo mantém um secundário ocioso até a falha; ativo-ativo roda os dois ao mesmo tempo e divide a carga. O segundo soa estritamente melhor, já que o hardware trabalha em vez de esperar, e a troca por baixo é real e frequentemente subestimada.
Ativo-ativo exige que a aplicação tolere concorrência entre sites. O estado precisa ser compartilhado ou particionado, as escritas precisam ser reconciliadas, e os problemas de sequenciamento que um único nó ativo tornava impossíveis passam a existir. O split brain é a falha característica: os dois lados perdem contato, ambos seguem acreditando ser a autoridade, e os dados divergem de formas que alguém terá de mesclar depois.
Ativo-passivo evita tudo isso ao ter uma autoridade, ao custo de capacidade ociosa e de um failover que precisa ser testado. É também mais fácil de raciocinar durante um incidente, o que vale mais do que parece. A orientação honesta é que ativo-ativo é correto quando você genuinamente precisa da capacidade ou da latência de estar perto dos usuários, e que escolhê-lo por elegância é adotar um problema de sistemas distribuídos que você não tinha antes.
Também conhecido como: active-active, active-passive