Incidente · Sênior
VTEX 12/07/2023: circuit breakers que não fecham sozinhos
O próprio mecanismo de resiliência estendeu o incidente: o banco foi consertado às 21:15 UTC, mas os breakers ficaram abertos até as 23:03.
Resposta curta
O próprio mecanismo de resiliência estendeu o incidente: o banco foi consertado às 21:15 UTC, mas os breakers ficaram abertos até as 23:03. O post-mortem público da VTEX é a fonte deste caso. Em 12 de julho de 2023, às 20:29 UTC, um dos sistemas de banco de dados replicados e de alta disponibilidade da empresa sofreu degradação severa de…
01 · CONTEXTO
Uma plataforma que depende de um banco replicado
O post-mortem público da VTEX é a fonte deste caso. Em 12 de julho de 2023, às 20:29 UTC, um dos sistemas de banco de dados replicados e de alta disponibilidade da empresa sofreu degradação severa de serviço e não se recuperou automaticamente. O efeito descrito foi de erros intermitentes e latência alta na experiência geral, com uma queda parcial da plataforma.
Fluxo de vendas, indexação de produtos e ambiente administrativo foram gravemente afetados.
Lojistas e compradores chegam à plataforma por meio dos serviços.
Os serviços consultam um banco replicado e de alta disponibilidade, que é uma dependência compartilhada.
02 · A LINHA DO TEMPO
Do banco degradado à recuperação
Segundo o post-mortem, às 20:29 UTC o banco degradou e não se recuperou automaticamente. Às 21:15 UTC o problema inicial foi remediado manualmente. Às 22:00 UTC a equipe de resposta ainda investigava os efeitos em cascata da falha e aplicava remediações manualmente. Às 23:03 UTC a VTEX validou que as ações de remediação tinham sido efetivas, com recuperação estável.
Às 20:29 UTC o banco replicado sofre degradação severa de serviço e não se recupera automaticamente.
Para os usuários, o efeito é de erros intermitentes e latência alta, com queda parcial da plataforma.
Às 21:15 UTC o problema inicial é remediado manualmente.
Vários circuit breakers de serviços abriram e não fecharam automaticamente depois que o problema inicial foi resolvido.
Às 22:00 UTC a equipe ainda investigava os efeitos em cascata e aplicava remediações manualmente.
Às 23:03 UTC a VTEX validou que as ações de remediação foram efetivas, com recuperação estável.
03 · O BREAKER
A proteção que não volta sozinha
Segundo o post-mortem, os circuit breakers existem para evitar a indisponibilidade completa e, como efeito colateral, um subconjunto da plataforma continuou a operar.
| Aspecto | O que o post-mortem registra |
|---|---|
| Propósito | Evitar a indisponibilidade completa |
| Efeito colateral | Um subconjunto da plataforma continuou a operar |
| Comportamento observado | Vários breakers de serviços abriram e não fecharam automaticamente depois que o problema inicial foi resolvido |
| Consequência | O incidente se estendeu para alguns clientes |
O banco replicado degradado está na origem do impacto descrito no post-mortem.
O fluxo de vendas foi gravemente afetado.
A indexação de produtos e o ambiente administrativo também foram gravemente afetados.
04 · AS AÇÕES
O que a VTEX se comprometeu a mudar
O post-mortem lista ações para evitar incidentes parecidos. Entre elas estão reavaliar o tamanho do domínio de falha associado ao sistema de banco replicado e de alta disponibilidade, investigar e corrigir a causa da degradação severa do serviço no sistema de banco, e investigar e corrigir o bug dos circuit breakers que não fecharam adequadamente depois que o problema do banco foi resolvido.
05 · NA ENTREVISTA
Perguntas para levar ao seu desenho
Ao propor circuit breakers, pergunte quem fecha o breaker: ele testa a dependência de forma automática e periódica, ou depende de uma ação manual? Pergunte também como você saberia, por monitoramento e alertas, que um breaker continua aberto depois que a dependência voltou. Por fim, pergunte quantos clientes e funções compartilham a mesma dependência, porque isso define o alcance de uma falha na disponibilidade.
Perguntas frequentes
O que é VTEX 12/07/2023: circuit breakers que não fecham sozinhos?
O próprio mecanismo de resiliência estendeu o incidente: o banco foi consertado às 21:15 UTC, mas os breakers ficaram abertos até as 23:03.
O que o design de VTEX 12/07/2023: circuit breakers que não fecham sozinhos cobre?
Ele está organizado nestas seções: Uma plataforma que depende de um banco replicado, Do banco degradado à recuperação, A proteção que não volta sozinha, O que a VTEX se comprometeu a mudar e Perguntas para levar ao seu desenho.
Quanto tempo leva VTEX 12/07/2023: circuit breakers que não fecham sozinhos e qual é o nível?
Leva cerca de 14 minutos para ler e tem nível Sênior.
Agora projete você mesmo
Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.