¿Cuál es la mejor manera de comprobar la conectividad del servidor web a la base de datos?

¿Cuál es la mejor manera de comprobar la conectividad del servidor web a la base de datos?

Nuestro administrador de TI solicita un punto final API en nuestra aplicación web para usarlo como verificación de estado. La lógica de la API debe realizar cualquier consulta simple a la base de datos para garantizar que el servidor web pueda conectarse a la base de datos. La idea es que una falla en esta llamada a la API puede provocar el desmantelamiento automático del servidor web, etc.

Esto definitivamente funcionará, pero parece un poco hecho en casa. ¿Existe una mejor manera de utilizar herramientas listas para usar, etc. para lograr esto? Estamos en la pila de Microsoft, por lo que los cuadros web son IIS 8 y la base de datos es SQL 2014.

Respuesta1

Puede hacer lo que propone, sin embargo, deberá realizar la llamada a la API a intervalos regulares desde "algún lugar". Seguirá teniendo un comportamiento no deseado durante el tiempo entre el momento en que la base de datos se cae y el siguiente ping lo detecta.

Otra solución es detectar el error en un controlador global. (En ASP.NET puede hacer esto en el archivo Global.asax). Puede inspeccionar el error y obtener información bastante detallada si lo desea, como realizar una acción si se agotó el tiempo de espera de la conexión a la base de datos u otra acción. si la conexión es válida pero hay un error de permisos. Tenga en cuenta que un error de conexión a la base de datos solo llegará al controlador global si algo más no lo maneja primero.

Sugerencia: intente hacer que la parte "qué hace al respecto" sea un mecanismo separado del método de detección. De esa manera podrías incluso implementar ambas ideas, o una tercera, y compartir las mismas acciones resultantes.

información relacionada