Especificação para um sistema de entrega de webhooks
Modelo de especificação que os engenheiros realmente usam — metas, não-metas, SLOs, modos de falha
Ver prévia de entrada e saída
Entrada
- Feature
- outbound webhooks with retries and signed payloads
- Constraints
- at-least-once delivery, p95 < 5s, 100 RPS sustained
Saída (trecho)
## Entrega de Webhooks v1 — Especificação Técnica **Meta:** entrega externa pelo menos uma vez de eventos de domínio aos endpoints dos clientes, com payloads assinados por HMAC e retentativas com recuo exponencial. **Não-metas:** entrega exatamente uma vez, ordenação entre tipos de eventos. **Arquitetura:** barramento de eventos (NATS) -> pool de workers de entrega (Go) -> endpoints HTTPS dos clientes. **Política de retentativa:** 8 tentativas ao longo de 24h com recuo exponencial (1s, 5s, 30s, 5m, 30m, 2h, 6h, 12h). **Assinatura:** HMAC-SHA256 sobre o corpo, com segredo rotacionado por endpoint. **SLOs:** entrega p95 < 5s, taxa de sucesso > 99,5%. **Modos de falha:** tabela detalhada cobrindo DNS, TLS, 5xx, 4xx, timeout, resposta parcial, estouro de tamanho do corpo.