Diseñar circuit breakers para API de IA
Diseñar circuit breakers para API de IA: guía de producción con decisión explícita, artefacto reutilizable, pruebas de fallo, señales operativas y límites respaldados por fuentes.
Diseñar circuit breakers para API de IA: guía de producción con decisión explícita, artefacto reutilizable, pruebas de fallo, señales operativas y límites respaldados por fuentes.
Respuesta directa
Implemente Diseñar circuit breakers para API de IA como un contrato de control de fiabilidad, no como una configuración puntual. Fije protocolo, owner, evidencia y rollback antes de mover tráfico. Los puntos de control son closed, open, half_open, failure_window.
La conclusión queda fijada por la tabla contractual y el ejemplo determinista. ai-api-circuit-breaker no entra en rollout si un control duro carece de evidencia de red, relectura duradera u owner.
Alcance y responsabilidades
Separe la tarea del cliente del plano de control. El cliente posee su archivo o variable; el gateway posee autenticación, rutas, límites, contabilidad e intentos; el proveedor posee el protocolo nativo y las capacidades cambiantes. Una respuesta de texto solo prueba una ruta y un instante.
Este artículo posee la decisión, los riesgos y la prueba; la documentación viva conserva comandos y pasos de interfaz volátiles. Así se forma un árbol de capacidades sin duplicar el owner de una intención de búsqueda.
El registro owner de esta página es ai-api-circuit-breaker y sus controles fijados son closed, open, half_open, failure_window. Cada valor se revisa en el límite de red o estado duradero, nunca desde una etiqueta comercial.
Artefacto práctico: Diseñar circuit breakers para API de IA
Este registro de revisión es el artefacto entregable. Los valores técnicos son explícitos para comparar configuración, evidencia de red y estado persistente sin depender de capturas.
| Control | Decisión fijada | Evidencia |
|---|---|---|
breaker_key |
provider_route_plus_protocol_plus_failure_class |
route_id + endpoint + normalized_error_class |
closed_state |
rolling_window_with_minimum_sample |
eligible_attempts + failures + window_bounds |
open_state |
fail_fast_without_upstream_attempt |
decision_timestamp + reopen_at + returned_error |
half_open_state |
bounded_probe_concurrency |
probe_count + outcomes + state_transition |
fallback |
same_contract_eligible_route_only |
eligibility_reason + route_choice + terminal_state |
operator_override |
time_bounded_and_audited |
actor + reason + expiry + restored_policy |
Ejemplo determinista
El ejemplo usa marcadores e inputs deterministas. Sustituya solo identificadores revisados, nunca credenciales ni contenido de clientes, y conserve la instantánea exacta.
state = CLOSED
if eligible_failures(window) >= threshold and samples >= minimum:
state = OPEN
reopen_at = now + cool_down
if state == OPEN and now < reopen_at:
return fail_fast
if state == OPEN and now >= reopen_at:
state = HALF_OPEN
if bounded_probe_succeeds():
state = CLOSED
else:
state = OPEN
Escalera de verificación
Ejecute los controles en orden. Un control posterior no compensa un límite anterior ausente y cada intento debe enlazarse con una solicitud lógica.
- Congele cliente, política del gateway, alias de modelo, rutas y línea base observable. Registro de evidencia para
breaker_key: aplicarprovider_route_plus_protocol_plus_failure_classy conservarroute_id + endpoint + normalized_error_class. - Ejecute una prueba positiva determinista y conserve respuesta, request ID, ruta, estado terminal y uso. Registro de evidencia para
closed_state: aplicarrolling_window_with_minimum_sampley conservareligible_attempts + failures + window_bounds. - Ejecute el caso negativo, límite o desconexión correspondiente y compruebe la capa de fallo. Registro de evidencia para
open_state: aplicarfail_fast_without_upstream_attempty conservardecision_timestamp + reopen_at + returned_error. - Repita por el protocolo real; no infiera soporte nativo desde otro endpoint compatible. Registro de evidencia para
half_open_state: aplicarbounded_probe_concurrencyy conservarprobe_count + outcomes + state_transition. - Despliegue a una cohorte limitada con owner, caducidad, umbral de parada y rollback. Registro de evidencia para
fallback: aplicarsame_contract_eligible_route_onlyy conservareligibility_reason + route_choice + terminal_state. - Relea configuración y contabilidad persistentes; elimine acceso y datos temporales. Registro de evidencia para
operator_override: aplicartime_bounded_and_auditedy conservaractor + reason + expiry + restored_policy.
Fallos que hay que evitar
Cada punto siguiente bloquea la publicación. Un HTTP 200, un dashboard atractivo o una demo no anulan estas condiciones.
global_breaker— Si apareceglobal_breaker, detenga el rollout y use el owner, la evidencia y el rollback definidos; una muestra correcta no lo anula.mixed_denominator— Si aparecemixed_denominator, detenga el rollout y use el owner, la evidencia y el rollback definidos; una muestra correcta no lo anula.half_open_stampede— Si aparecehalf_open_stampede, detenga el rollout y use el owner, la evidencia y el rollback definidos; una muestra correcta no lo anula.fallback_cascade— Si aparecefallback_cascade, detenga el rollout y use el owner, la evidencia y el rollback definidos; una muestra correcta no lo anula.
Señales y condiciones de parada
Observe éxito y daño juntos. El umbral pertenece a la política del workload; defina SLO y denominador antes de abrir la ventana.
| Señal | Umbral | Acción |
|---|---|---|
eligible_failure_ratio |
reviewed_window_and_minimum_sample |
open_route_breaker |
open_fail_fast_latency |
<_caller_remaining_deadline |
repair_local_decision_path |
half_open_probe_concurrency |
<=_configured_probe_limit |
reject_extra_probes |
fallback_headroom |
>=_required_reserved_capacity |
shed_load_instead_of_failover |
Límites de Modelflare
Modelflare centraliza rutas compatibles y nativas, claves acotadas, grupos, uso y fallos. Un canal configurado no prueba todos los campos, alias, compromisos de retención, regiones o fallbacks. Verifique por protocolo nativo y use la liquidación persistente como verdad de facturación.
Es un método de implementación, no una certificación, conclusión legal, historial de uptime ni benchmark universal. Revise contrato, modelos, precios, retención y regiones en T-1; mueva la fecha si cambia un hecho central.
Continuar por el clúster temático
El artículo padre cubre la decisión amplia, el hermano el siguiente paso y la documentación la configuración actual. Los enlaces en el cuerpo son necesarios porque el CMS gestionado no dispone de related-slug.
Preguntas frecuentes
Diseñar circuit breakers para API de IA: ¿Basta una solicitud correcta para aprobar?
No. Caso negativo, rollout acotado, relectura persistente y parada son gates separados.
Diseñar circuit breakers para API de IA: ¿Se fijan modelos y precios meses antes?
No. Use marcadores o snapshots y revalide en T-1.
Diseñar circuit breakers para API de IA: ¿Qué evidencia se conserva?
IDs sin datos sensibles, versión, tiempos, estado, uso, cargo final y decisión.
Fuentes y fecha de verificación
Fuentes comprobadas el 2026-08-07. Definen contratos y principios; no prueban rutas no ensayadas ni estados futuros.