Pular para o conteudo principal

Consistência eventual

O que consistência eventual realmente quer dizer e por que "não atualizou na hora" nem sempre significa bug.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

O que é

Consistência eventual significa que o sistema aceita que duas leituras diferentes possam enxergar estados diferentes por um tempo.

Depois, as cópias convergem.

Ou seja:

  • não é “cada leitura vê a mesma coisa agora”
  • é “o sistema chega no mesmo estado depois”

Quando importa

Isso aparece quando existe:

  • réplica de leitura
  • fila
  • evento entre serviços
  • cache

Nesses casos, escrever e enxergar o mesmo valor imediatamente em todo lugar pode ser caro demais ou até inviável.

Erro comum

O erro clássico é tratar consistência eventual como se fosse desculpa para qualquer atraso.

Não é.

Ela só é aceitável quando o produto aguenta esse intervalo sem quebrar a experiência ou a regra de negócio.

Saldo, estoque apertado e permissão costumam ser bem mais sensíveis do que contador de likes ou timeline.

Exemplo curto

Um usuário atualiza o nome do perfil.

O serviço principal grava o dado na origem na hora.

Mas a busca e a réplica de leitura ainda demoram alguns segundos para refletir isso.

Durante esse intervalo, uma tela pode mostrar o nome novo e outra ainda mostrar o antigo.

Isso é consistência eventual.

Por que ajuda

Consistência eventual dá espaço para:

  • escalar leitura
  • desacoplar serviços
  • absorver processamento assíncrono

Mas ela exige clareza sobre duas coisas:

  • onde atraso é aceitável
  • como o sistema converge depois

Consistência eventual não é bagunça. É atraso controlado com ponto de chegada conhecido.

Você concluiu este artigo

Continue explorando

Artigos relacionados