Fallback automático
Como o Ignus Code garante alta disponibilidade com retry entre provedores.
O fallback automático é uma das funcionalidades mais importantes do Ignus Code. Quando um provedor falha, o sistema tenta automaticamente o próximo — sem nenhuma alteração no seu código.
Quando o fallback é ativado
O fallback é aplicado para erros recuperáveis:
| Código | Situação | Retriado? |
|---|---|---|
429 | Rate limit do provedor | ✅ Sim |
500 | Erro interno do provedor | ✅ Sim |
502 | Bad Gateway | ✅ Sim |
503 | Serviço indisponível | ✅ Sim |
504 | Timeout do gateway | ✅ Sim |
400 | Request inválida | ❌ Não |
401 | Autenticação inválida | ❌ Não |
Fluxo de fallback
Requisição (model: gpt-4o)
→ OpenAI → 429 Rate Limit
→ Tentativa 1: Anthropic Claude → 200 OK ✅
→ Resposta entregue ao seu app
Requisição (model: gemini-2.0-flash)
→ Google → 503 Service Unavailable
→ Tentativa 1: Rota alternativa → 200 OK ✅
Transparência para o seu código
O fallback é completamente transparente. Seu código não precisa saber qual provedor foi usado:
# Seu código não muda
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Olá!"}],
)
# A resposta sempre vem no mesmo formato
print(response.choices[0].message.content)Mesmo quando o fallback é ativado, o campo model na resposta indica o modelo original solicitado, não o substituto. Isso mantém consistência na sua aplicação.
Ver tentativas no Dashboard
Acesse Dashboard → Logs para ver cada requisição com:
- Provedor original tentado
- Motivo do fallback (se aplicável)
- Provedor que respondeu com sucesso
- Latência de cada tentativa
Configurar timeout
Por padrão, o motor de roteamento aguarda até 30 segundos por uma resposta antes de tentar o fallback. Você pode reduzir isso via header:
X-Ignus-Timeout: 10000O valor é em milissegundos (10000 = 10 segundos).