Ir para o conteúdo
ReboundDLQDesenvolvedores
Rebound DLQDocumentação

Confiabilidade e reenvios

O que é uma ocorrência, como evitar duplicação e quais garantias têm limites.

Evento, ocorrência e tentativa

CampoRegraDescrição
fingerprintGrupo de errosAgrupa falhas semelhantes dentro do projeto.
eventIdUma capturaUUID v4 novo para cada ocorrência real. Reutilizado nos reenvios dela.
Tentativa HTTPEntregaPode ser repetida se a resposta se perder. Não representa necessariamente uma nova ocorrência.

Por que sete dias?

O Rebound mantém o comprovante de uma captura aceita por sete dias. Reenviar o mesmo eventId e conteúdo nesse prazo devolve a confirmação sem outra ocorrência, consumo ou excedente. A proteção é por projeto.

Se a falha acontecer novamente amanhã, gere outro eventId: o mesmo evento ganha uma nova ocorrência, com novo horário e consumo. Os sete dias não são a retenção do evento. Depois desse prazo, a deduplicação da captura antiga não é garantida. Sem eventId, não há essa garantia.

Política de reenvios

O SDK reenvia falhas de transporte e HTTP 408, 425, 429 e 5xx, com espera exponencial, variação aleatória e suporte a Retry-After. Há limites de tentativas, idade e capacidade. Um 2xx sem confirmação válida não conta como entrega.

Em uma integração HTTP própria, implemente esses controles. Não reenvie indefinidamente erros 400, 401 ou 409. Trate o bloqueio 403 de franquia conforme o corpo da resposta, em vez de iniciar um loop de retries.

Kubernetes e múltiplos pods

Em aplicações com várias réplicas, mantenha o eventId e o corpo da captura caso transfira uma tentativa de entrega entre workers ou pods. A proteção contra reenvios é por projeto e não depende de manter a conexão com o mesmo servidor da API.

Cada instância do SDK possui fila em memória. Aguarde close no encerramento e reserve tempo no desligamento do pod. OOM, SIGKILL e crashes podem perder capturas pendentes. Dois pods do cliente capturando separadamente recebem identidades distintas; o SDK não deduplica automaticamente a operação de negócio.

Rebound DLQ · Documentação para desenvolvedores
Termos de uso