Un circuit breaker registra los fallos hacia una dependencia, se abre cuando se cruza un umbral para que las llamadas fallen rápido en lugar de acumularse, y luego pasa a semiabierto para probar la recuperación con un hilo fino de tráfico. Protege los pools de hilos y de conexiones del agotamiento y frena el fallo en cascada. Perjudica cuando los umbrales son demasiado estrictos, cuando el fallback es peor que el error, o cuando todas las instancias se abren a la vez y la dependencia nunca recibe tráfico suficiente para demostrar que se recuperó.
Por qué lo preguntan los entrevistadores
Los entrevistadores usan esto para ver si tratas los patrones de resiliencia como herramientas con compromisos y no como interruptores que se encienden. Las mejores respuestas cubren el estado semiabierto, el aislamiento por dependencia (un breaker para el servicio entero es inútil) y el modo de fallo honesto en el que un breaker convierte una dependencia lenta en una caída dura de funcionalidad que habría funcionado.
Cómo estructurar tu respuesta
- Describe los tres estados y qué dispara cada transición.
- Di qué recurso está protegiendo el breaker en realidad.
- Acota los breakers por dependencia y por endpoint, no por proceso.
- Da un caso concreto en el que abrir el circuito fue la decisión equivocada.
Ejemplo de respuesta
Cerrado, abierto, semiabierto. Cuentas los fallos en una ventana móvil, y en cuanto cruzas el umbral abres el circuito y fallas de inmediato durante un periodo de enfriamiento, y después dejas pasar unas pocas peticiones de sondeo para ver si la dependencia está sana otra vez. Lo importante de verdad es proteger tus propios recursos. Si un servicio aguas abajo tarda 30 segundos en dar timeout, todos tus hilos de trabajo acaban aparcados en él y tu servicio muere por algo que no era culpa tuya. Donde se tuerce es en el alcance y el ajuste. Teníamos un breaker configurado a nivel de servicio y no por dependencia, así que una llamada inestable de recomendaciones abría el circuito también para el checkout, lo que suponía una caída mucho mayor que la que estábamos evitando. La otra trampa es el goteo del semiabierto. Si todas las réplicas se abren a la vez y sondean poco, el servicio de abajo apenas ve tráfico y te quedas a oscuras mucho más tiempo del que duró el fallo real.
¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.
Mira cómo funcionaPreguntas de seguimiento que puedes esperar
- ¿Cómo elegirías el umbral de fallos y el tiempo de reinicio?
- ¿Qué es el bulkheading y cómo complementa a un circuit breaker?
- ¿Qué debería devolver la ruta de fallback cuando el circuito está abierto?
Más preguntas para Site Reliability Engineer
Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.
Predecir mis preguntas