웹 서버와 데이터베이스의 연결을 확인하는 가장 좋은 방법은 무엇입니까?

웹 서버와 데이터베이스의 연결을 확인하는 가장 좋은 방법은 무엇입니까?

IT 관리자가 상태 확인으로 사용할 웹 애플리케이션의 API 엔드포인트를 요청하고 있습니다. API의 논리는 간단한 데이터베이스 쿼리를 수행하여 웹 서버가 데이터베이스에 연결할 수 있는지 확인해야 합니다. 이 API 호출이 실패하면 웹 서버 등이 자동으로 해제될 수 있다는 아이디어입니다.

이것은 확실히 효과가 있지만 집에서 만든 것 같습니다. 이를 달성하기 위해 기본 툴링 등을 사용하는 더 좋은 방법이 있습니까? 우리는 Microsoft 스택에 있으므로 웹 상자는 IIS 8이고 데이터베이스는 SQL 2014입니다.

답변1

제안한 대로 수행할 수 있지만 "어딘가"에서 정기적으로 API 호출을 수행해야 합니다. DB가 다운된 후 다음 ping이 이를 감지하는 사이의 시간 동안에는 여전히 바람직하지 않은 동작이 발생합니다.

또 다른 해결책은 전역 처리기에서 오류를 포착하는 것입니다. (ASP.NET에서는 Global.asax 파일에서 이 작업을 수행할 수 있습니다.) DB에 대한 연결 시간이 초과된 경우 한 가지 작업을 수행하거나 다른 작업을 수행하는 등 원하는 경우 오류를 검사하고 매우 세부적으로 얻을 수 있습니다. 연결은 유효하지만 권한 오류가 있는 경우. DB 연결 오류는 다른 것이 먼저 처리하지 않는 경우에만 전역 처리기에 발생합니다.

제안: "무엇을 하느냐" 부분을 탐지 방법과 별개의 메커니즘으로 만드십시오. 이렇게 하면 두 가지 아이디어를 모두 구현하거나 세 번째 아이디어를 구현하고 동일한 결과 작업을 공유할 수도 있습니다.

관련 정보