Português (Portugal)
  • postmortem

Postmortem: Interrupção do serviço de autenticação Logto

A 12 de junho de 2025, os serviços Logto em `logto.app` foram brevemente interrompidos devido a uma falha da Cloudflare que afetou o encaminhamento dos pedidos. O problema foi rapidamente resolvido, sem impacto na segurança dos dados ou nos serviços principais.

Gao
Gao
Founder

Pare de perder semanas com autenticação de utilizadores
Lance aplicações seguras mais rapidamente com o Logto. Integre a autenticação de utilizadores em minutos e concentre-se no seu produto principal.
Começar
Product screenshot

Resumo do incidente

Entre as 18:07 e as 18:58 UTC do dia 12 de junho de 2025, os utilizadores que acederam aos serviços Logto através do domínio logto.app (incluindo domínios personalizados) experienciaram erros. A interrupção foi causada por uma falha no Cloudflare Workers KV, que afetou a nossa camada de routing. Os serviços Logto Cloud e Logto Console, que utilizam resolução DNS direta e não dependem do Cloudflare Workers, não foram afetados. O serviço foi restaurado dentro de uma hora, sem impacto na segurança dos dados.

Linha do tempo (UTC)

  • 18:07: As APIs do serviço de autenticação Logto começaram a devolver erros 500 para pedidos via logto.app.
  • 18:24: A investigação confirmou que o backend Azure estava saudável, e o problema foi isolado ao Cloudflare Workers e KV.
  • 18:48: A Cloudflare reconheceu oficialmente um incidente a afetar Workers e KV.
  • 18:58: Implementámos uma solução temporária removendo a lógica de cache, o que restaurou o serviço com possível ligeira degradação do desempenho.
  • 21:00: Após a normalização dos serviços Cloudflare, reimplementámos a lógica de cache com fallback elegante. O desempenho total foi restaurado e o serviço está agora resiliente a falhas semelhantes no KV.

Causa raiz

Este incidente foi desencadeado por paragens no Cloudflare Workers KV. O nosso Cloudflare Worker encaminha pedidos para a região Logto correta para cada tenant ou domínio, garantindo residência de dados adequada e conformidade. Para melhorar o desempenho, o Worker usa o KV para armazenar em cache estes mapeamentos de região. Quando o KV ficou indisponível, as operações de cache falharam e o Worker lançou erros em vez de recorrer ao comportamento sem cache, causando a interrupção do serviço.

Os serviços Logto Cloud e Logto Console não foram afetados porque dependem de resolução DNS direta e não utilizam o Cloudflare Workers para routing.

Resolução e melhorias

  • Removida a dependência de cache do Worker, restaurando o serviço.
  • Após a recuperação do Cloudflare KV, foi reimplementada a lógica de cache com fallback elegante. Se o cache estiver indisponível, o serviço continua a utilizar routing direto sem interrupção.
  • Melhorias contínuas na infraestrutura para aumentar ainda mais a resiliência e disponibilidade.

Impacto

  • Os utilizadores que acederam ao Logto via logto.app experienciaram erros durante cerca de 50 minutos.
  • Nenhum dado de cliente foi perdido ou comprometido.
  • Os serviços Logto Cloud e Logto Console permaneceram totalmente operacionais.

Próximos passos

  • Iremos rever e melhorar o nosso tratamento de erros na infraestrutura Edge.
  • Iremos analisar utilizar múltiplos fornecedores para a infraestrutura upstream para evitar pontos únicos de falha.

Obrigado pela tua paciência e apoio.