Estaba revisando unos logs de errores y me encontré con que mi aplicación falla aleatoriamente cuando hace una llamada a un servicio externo, pero solo en producción y nunca en mis entornos de prueba; he revisado timeouts, autenticación y la red, pero no logro reproducir el error de forma consistente, y me pregunto si alguien más ha tenido un problema similar con respuestas intermitentes de un tercero y cómo empezaron a diagnosticarlo, porque ya no sé por dónde más buscar.
|
Qué hacer para diagnosticar fallos intermitentes en producción con servicios?
|
|
Podría ser una lotería de la nube: la latencia intermitente del servicio externo aparece solo bajo tráfico prod y no en staging. No es que falle todo el tiempo, es ese pequeño nubarrón que se cuela entre pruebas.
Para diagnosticar, empieza con trazas end to end: asigna un correlation_id, mide la latencia de cada salto y mira picos que coincidan con los errores. Si ves un patrón, ya no es solo el servicio, es la ruta completa.
Tal vez el tercero cambia de versión cada hora y no te llega la noticia; el 200 llega, pero el payload es distinto y tu parser se enferma. Eso tampoco es imposible.
¿Y si el problema no está en el tercero sino en cómo maneja tu app las respuestas intermitentes? un retry mal calibrado o un circuit breaker desactivado pueden convertir un fallo puntual en ruido constante.
Activa trazabilidad, añade logs de latencia por llamada y establece alertas para la ruta externa. Captura cabeceras útiles sin exponer credenciales; a veces la clave está en el detalle de la latencia intermitente y en cuándo aparece.
En prod a veces la explicación simple es la menos útil: quizá el tercero te está bloqueando por hora, o hay reglas de red que solo se activan con cierto volumen. Haz una revisión de dependencia y apunta a dónde falla el ida y vuelta de la llamada.
|
|
« Tema anterior | Tema siguiente »
|

