경험 중심 1인칭 답변
서버나 네트워크 장애 발생 시 저는 감지 → 분리 → 원인 파악 → 임시 조치 → 근본 수정 → 재발 방지 순서로 접근합니다.
첫 번째 단계인 감지는 모니터링 알림이나 사용자 리포트로 인지하는 경우가 많습니다. 개인 프로젝트를 운영하면서 서비스가 응답하지 않는 상황을 경험했는데, 먼저 장애 범위가 전체인지 부분인지를 빠르게 확인했습니다.
분리 단계에서는 영향을 받는 컴포넌트를 식별합니다. 네트워크 문제인지, 애플리케이션 레벨 문제인지, 데이터베이스 문제인지를 ping, traceroute, 로그 확인으로 구분했습니다. 당시 사례는 DB 커넥션이 고갈된 문제였고, 애플리케이션 설정에서 connection pool 한도가 낮게 설정된 것이 원인이었습니다.
임시 조치로는 서비스를 재시작해 연결을 초기화했고, 이후 pool 설정을 수정하고 idle timeout을 추가하는 방식으로 근본 원인을 해결했습니다. 재발 방지 측면에서는 커넥션 수 모니터링 지표를 추가해 임계값 초과 시 알림이 오도록 설정했습니다.
팀 협업이 필요한 상황이라면 장애 상황을 타임라인으로 기록하면서 진행하고, 각자 역할을 빠르게 분담하는 게 중요하다고 생각합니다. 커뮤니케이션 없이 각자 같은 곳을 건드리면 혼선이 생길 수 있기 때문입니다.