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.
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.
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
Apresentamos a Grafaze Certifica
Certificados em lote, com a sua marca, que qualquer pessoa consegue conferir. Por enquanto, só para uso interno.
Quanto custa manter um sistema
Construir é uma vez. Manter é todo mês, e esse número precisa vir antes.
Conciliação de PIX e boleto
O que costuma dar errado, e como fazer cada pagamento encontrar sua cobrança sozinho.