Una aplicación ASP.NET Core se conecta a Azure Database for MySQL, pero las conexiones fallan intermitentemente y el código no maneja los fallos transitorios. ¿Qué tres enfoques puede utilizar en el código para implementar el manejo de reintentos para errores de conexión transitorios? (Cada respuesta correcta es parte de la solución).
Elige una respuesta
Toca una opción para verificar tu respuesta.
Respuesta correcta: Esperar cinco segundos antes de repetir el intento de conexión a la base de datos., Establecer un número máximo de intentos de conexión en 10 e informar de un error en las conexiones subsiguientes., Aumentar los intentos de repetición de conexión exponencialmente hasta 120 segundos..
Por qué esta es la respuesta
Para manejar errores transitorios de conexión, es crucial implementar una estrategia de reintentos. Esperar un tiempo antes de reintentar (como cinco segundos) permite que el problema transitorio se resuelva. Establecer un número máximo de intentos (por ejemplo, 10) evita que la aplicación intente indefinidamente una conexión fallida, lo que podría agotar recursos. Finalmente, aumentar exponencialmente el tiempo de espera entre reintentos (hasta 120 segundos) es una práctica recomendada conocida como "backoff exponencial". Esto reduce la carga en el servidor de la base de datos durante un período de inestabilidad y aumenta la probabilidad de éxito en intentos posteriores. Cerrar la conexión e informar un error inmediatamente no maneja el fallo transitorio. Deshabilitar el pool de conexiones y configurar una segunda instancia no es una solución de manejo de reintentos en el código.
Aprueba tu examen — sin la interminable búsqueda de respuestas
Obtén todas las preguntas y explicaciones verificadas para este examen en un solo lugar, y ahorra horas de preparación. Más de 1,000 certificaciones · Más de 20 idiomas · Empieza gratis.
Aprueba tu examen más rápido → No se requiere tarjeta