Backend · Resiliência
Circuit Breaker
Disjuntor com estados fechado, aberto e meio-aberto: para de chamar o serviço que está caindo e testa a volta sozinho. Seu sistema continua de pé quando o fornecedor sai do ar.
Circuit breaker · Resiliência · Fallback · 9 testes automatizados · Licença MIT · Criado por FlowCore Soluções LTDA
Este módulo vem da camada de back-end dos sistemas sob medida da FlowCore: TypeScript sem dependências externas e com testes automatizados. Serve para validar dados, integrar pagamentos e serviços, e proteger rotas em qualquer API Node.js.
Como instalar
- Funciona onde você já roda Node 18+, Cloudflare Workers, Deno, Bun, Vercel e Netlify Functions. Zero dependência: só fetch e Web Crypto, que já vêm no runtime.
- Crie src/lib/circuit-breaker.ts Cole o código da aba Código.
- Use
const erp = criarCircuitBreaker({ nome: "erp", limiteFalhas: 5, tempoResetMs: 30_000 }); erp.on((e) => e.tipo === "mudanca" && console.warn("ERP:", e.de, "->", e.para)); try { return await erp.executar(() => buscarPrecoNoErp(sku)); } catch (e) { if (e instanceof ErroCircuitoAberto) return precoEmCache(sku); throw e; } - Rode o teste junto O arquivo de teste (aba Teste) cobre 9 cenários. Copie para src/lib/ ao lado e rode:
npm install -D vitest npx vitest run src/lib
Código no GitHub · Biblioteca de códigos
A FlowCore Soluções desenvolve sistemas sob medida para empresas. Se você precisa desta funcionalidade dentro do sistema da sua empresa, integrada ao que já funciona, o diagnóstico é gratuito e o escopo sai em até 24 horas. Desenvolvimento de sistemas sob medida
Perguntas rápidas
Posso usar em projeto comercial?
Sim. A licença MIT permite usar, modificar e distribuir, inclusive em projeto comercial, mantendo o aviso de licença no código.
Precisa de cadastro?
Não. O código está na página e no repositório público do GitHub, sem cadastro e sem cartão.