Junior — Middle
Como implementar monitoramento e diagnóstico de problemas de conexão à base de dados?
sobes.tech IA
Resposta da IA
Para monitorizar e diagnosticar problemas de ligação à base de dados em Go, pode usar as seguintes abordagens:
- Registo de erros de ligação com informações detalhadas.
- Uso de contextos (context.Context) com tempos limite para controlar o tempo de espera da ligação.
- Verificação periódica do estado da ligação (ping) com a base de dados.
- Métricas e alertas através do Prometheus ou outros sistemas de monitorização.
Exemplo de um simples ping à base de dados com registo de erro:
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
err := db.PingContext(ctx)
if err != nil {
log.Printf("Erro de ligação à base de dados: %v", err)
}
Este método ajuda a identificar e reagir rapidamente a problemas de ligação.