목록 보기
MongoDB 클러스터 연결 장애와 설정 개선
백엔드

MongoDB 클러스터 연결 장애와 설정 개선

넥스트리
넥스트리
2026년 10월 13일

두줄요약

EKS 배포와 MongoDB Atlas 업그레이드가 겹친 연결 지연 장애를 분석했습니다. DNS 캐시와 드라이버 Timeout·읽기/쓰기 정책을 명시해 대응했습니다.

문제 상황

  • AWS EKS 배포와 MongoDB Atlas 버전 업그레이드가 겹치며 신규 WAS의 MongoDB 최초 연결 지연
  • 초기화 대기 상태에서 Kubernetes Health Check와 배포 절차가 진행돼 기존 인스턴스 종료 및 장애 범위 확대

원인 분석

  • Primary 전환·일부 멤버 이탈 시 신규 클라이언트의 토폴로지 확인과 서버 선택 지연
  • DNS 조회, TCP 연결, TLS 처리, 서버 선택에 걸친 대기 시간과 기본 Timeout 의존

해결 방법

  • JVM DNS 캐시 TTL을 5초로 설정해 DNS 상태 변화 반영 시간 단축
  • MongoDB Java Driver의 connectTimeout 3초, readTimeout 5초, serverSelectionTimeout 5초 명시
  • WriteConcern.MAJORITY와 primaryPreferred 읽기 정책으로 데이터 안정성과 전환 구간 읽기 가용성 보완

주의할 점

  • Timeout 값은 환경별 기동 허용 시간·쿼리 특성에 맞춘 개별 조정 필요
  • primaryPreferred의 Secondary 조회 허용에 따른 서비스별 일관성 요구사항 검토 필요
  • 미재발만으로 설정 효과 단정 불가

다음 읽기

#MongoDB 주제를 다룬 다른 회사 글

Spring Boot MongoDB 트랜잭션 도입 실전 가이드

MongoDB 트랜잭션의 동작 조건과 Snapshot Isolation, Write Conflict를 설명했습니다. 또한 복제 지연과 이벤트 발행 타이밍 문제를 PRIMARY 설정과 AFTER_COMMIT 이벤트로 해결했습니다.

올리브영
올리브영
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...