Qual a melhor forma de verificar a conectividade do servidor web com o banco de dados?

1

Nosso administrador de TI está solicitando um ponto de extremidade da API em nosso aplicativo da Web para usar como verificação de integridade. A lógica na API deve executar qualquer consulta de banco de dados simples para garantir que o servidor da Web possa se conectar ao banco de dados. A ideia é que uma falha desta chamada api possa desencadear o descomissionamento automático do servidor web, etc.

Isso definitivamente vai funcionar, mas parece um pouco caseiro. Existe uma maneira melhor de usar ferramentas fora da caixa etc para conseguir isso? Estamos na pilha da Microsoft, então as caixas da web são IIS 8 e o banco de dados é SQL 2014.

    
por Joe Capka 15.10.2015 / 03:11

1 resposta

1

Você pode fazer o que você propõe, no entanto, você precisará fazer a chamada da API em intervalos regulares de "algum lugar". Você ainda terá um comportamento indesejado durante o tempo entre o momento em que o banco de dados cai e o próximo ping detecta.

Outra solução é capturar o erro em um manipulador global. (No ASP.NET, você pode fazer isso no arquivo Global.asax.) Você pode inspecionar o erro e ficar bastante granular se desejar, como tomar uma ação se a conexão com o banco de dados tiver expirado ou outra ação se a conexão for válida, mas houver um erro de permissão. Observe que um erro de conexão com o banco de dados só o fará no manipulador global se algo não for resolvido primeiro.

Sugestão: tente fazer com que o "o que você faz a respeito" represente um mecanismo separado do método de detecção. Dessa forma, você pode até mesmo implementar as duas ideias ou uma terceira e compartilhar as mesmas ações resultantes.

    
por 21.10.2015 / 00:04