Voltar ao início

Blog · Integrações

Por que integrações quebram de madrugada

Três motivos, e o básico que evita cada um: fila, chave única e conciliação.

0:00
0:56

Três da manhã. O pagamento foi aprovado no banco, mas o pedido não apareceu no sistema. De manhã, o cliente reclama, o suporte procura, e ninguém sabe dizer o que aconteceu.

Integração entre sistemas é onde mais acontece esse tipo de problema, porque depende de coisas que você não controla: a rede, o sistema do parceiro, a janela de manutenção do banco. Quase toda falha de madrugada cai em um destes três motivos, e cada um tem uma solução conhecida.

1. O outro sistema caiu

Na integração mais simples, o seu sistema chama o do parceiro diretamente e espera a resposta. Funciona enquanto os dois estão no ar. Se o parceiro cair, mesmo que por alguns minutos de madrugada, a chamada falha e a informação se perde.

A solução é colocar uma fila no meio. O seu sistema entrega a mensagem para a fila, que guarda e tenta entregar ao parceiro. Se ele estiver fora, a fila espera e tenta de novo, com intervalos cada vez maiores. Quando ele volta, tudo é entregue. Nada se perde, só atrasa.

Na prática

  • Toda mensagem importante passa por uma fila, nunca só por chamada direta.
  • Novas tentativas automáticas, com intervalo crescente entre elas.
  • Mensagens que falham muitas vezes vão para uma fila separada, para alguém analisar.

2. A resposta não chegou

Este é mais traiçoeiro. O banco recebeu o pedido de cobrança e processou, mas a resposta se perdeu no caminho. Do lado do seu sistema, parece que deu erro. Então ele tenta de novo, como deveria, e o cliente é cobrado duas vezes.

A solução é cada operação levar uma chave única, como o número do pedido. O outro lado guarda as chaves que já processou. Se a mesma chave chegar de novo, ele reconhece a repetição, devolve a resposta original e não faz mais nada. Assim, tentar de novo passa a ser sempre seguro. Em engenharia, isso se chama idempotência.

Sinal de alerta: uma integração com novas tentativas automáticas, mas sem chave única. Mais cedo ou mais tarde, ela duplica alguma coisa.

Rodovia à noite com rastros de luz dos carros
Foto: kimi lee via Unsplash

3. Ninguém ficou sabendo

O erro aconteceu às três e só foi visto às nove, quando o cliente reclamou. Foram seis horas em que o problema poderia ter sido resolvido sem ninguém perceber.

Duas práticas resolvem. Alertas que avisam alguém quando a fila cresce demais ou quando as falhas passam do normal. E conciliação automática: comparar, de tempos em tempos, o que o banco diz que aconteceu com o que o sistema registrou, e apontar qualquer diferença. A divergência aparece minutos depois, antes de virar reclamação.

Na prática

  • Alerta para fila parada, falhas acima do normal e integração sem atividade.
  • Conciliação pelo menos diária entre banco e sistema.
  • Uma pessoa responsável definida para receber cada alerta.

Não é mágica

Fila, chave única e conciliação. Nenhuma é novidade, e todas cabem em sistemas de qualquer tamanho. É o básico bem feito, e é o que separa uma integração que dá susto de uma que ninguém precisa lembrar que existe.

Mais do blog

Lançamento · leitura de 2 min Apresentamos a Grafaze Certifica Certificados em lote, com a sua marca, que qualquer pessoa consegue conferir. Por enquanto, só para uso interno. Guia · vídeo de 0:42 Quanto custa manter um sistema Construir é uma vez. Manter é todo mês, e esse número precisa vir antes. Integrações · vídeo de 0:47 Conciliação de PIX e boleto O que costuma dar errado, e como fazer cada pagamento encontrar sua cobrança sozinho.