| Timeout | Define um tempo máximo de espera | “Espero no máximo 5s pela API fiscal” |
| Retry | Tenta novamente após uma falha transitória | Timeout, erro 502, conexão recusada |
| Retry com Backoff | Tenta novamente, mas aumentando o intervalo | 1s, depois 2s, depois 5s |
| Circuit Breaker | Para de chamar uma dependência que está falhando | API externa caiu, então corto chamadas por 30s |
| Bulkhead | Isola recursos para uma falha não afetar tudo | Fiscal tem 10 threads; pagamento tem 50 |
| Rate Limiting | Limita volume de entrada | Cliente só pode fazer 100 req/min |
| Throttling | Reduz/controla o ritmo de processamento | Worker processa no máximo 50 msg/s |
| Backpressure | Faz o produtor desacelerar quando o consumidor não acompanha | Fila cheia rejeita ou bloqueia novas mensagens |
| Fallback | Usa uma alternativa quando algo falha | Se API externa falhar, usa cache |
| Cache | Reduz dependência de chamadas externas | Consulta dados frequentes do Redis |
| Queue-Based Load Leveling | Usa fila para absorver picos | API coloca na fila e worker processa depois |
| Health Check | Verifica se o serviço está saudável | /health, /ready, /live |
| Graceful Degradation | Mantém parte do sistema funcionando mesmo com falha | Desativa recomendação, mas pedido continua |
| Fail Fast | Falha rápido em vez de esperar travar | Se fila está cheia, retorna 429 imediatamente |
| Idempotência | Permite repetir operação sem duplicar efeito | Mesmo requestId não gera dois pagamentos |
| Dead Letter Queue | Guarda mensagens que não puderam ser processadas | Mensagem inválida vai para DLQ |
| Retry Queue | Reprocessa mensagens com atraso controlado | Tenta de novo daqui 1min, 5min, 30min |
| Outbox Pattern | Garante consistência entre banco e mensageria | Salva pedido e evento na mesma transação |
| Inbox Pattern | Evita processar mensagem duplicada | Registra messageId já consumido |
| Load Shedding | Descarta/rejeita carga para preservar o sistema | Rejeita requests não críticas durante pico |
| Hedging | Dispara chamada redundante quando uma está lenta | Chama outra réplica se a primeira demorar |
| Replication / Redundancy | Mantém múltiplas instâncias disponíveis | Mais de uma instância da API rodando |
| Failover | Troca para instância/região secundária | Banco primário caiu, usa réplica |
| Checkpointing | Salva progresso para retomar depois | Worker volta do último offset processado |