목록 보기
후기 서비스 AWS Opensearch 도입기
백엔드

후기 서비스 AWS Opensearch 도입기

마켓컬리
마켓컬리
2023년 11월 22일

두줄요약

MySQL 조회 병목을 해결하기 위해 후기 서비스에 AWS OpenSearch를 5일 만에 도입했습니다. CQRS·이벤트 기반 구조와 모니터링으로 레이턴시를 17초에서 200ms까지 낮췄습니다.

문제 상황

  • MySQL 5.7 분산 데이터베이스 전환 시 과도한 IN절과 filesort 오버헤드로 조회 레이턴시 2~3배 증가
  • Aurora MySQL 호환 버전 1 종료 임박으로 원인 분석 시간 확보·MySQL 5.6 다운그레이드 모두 제약

해결 방법

  • 5일 내 AWS OpenSearch 운영 환경 구축, 원천 데이터 역정규화 및 인덱싱 배포
  • AWS 중심 인프라와 후기·상품 검색 요구사항을 근거로 ElasticCloud·NoSQL 대신 AWS OpenSearch 선택
  • nGrinder 부하 테스트와 Datadog·OpenSearch Monitoring 비교를 통한 인스턴스 사양 결정

구조와 흐름

  • CQRS와 Materialized View 패턴으로 역정규화된 후기 조회 데이터 구성
  • 후기 등록·수정·삭제 이벤트 기반 OpenSearch 인덱스 추가·수정·삭제 분리
  • 유저·관리자 서버의 OpenSearch 사용 통합과 원천 데이터 작업의 책임 분리

성능/운영 포인트

  • Canary 배포 후 전체 적용, 최대 레이턴시 17초에서 200ms로 감소 및 MySQL 지표 안정화
  • 샤드 분포, 노드 용량, CPU·Heap·Disk·JVM·GC·Latency 모니터링 대시보드와 알림 구성
  • partial update의 version conflict 재시도와 은전한닢 형태소 분석기 옵션 조정

다음 읽기

#OpenSearch 주제를 이어서 읽기

후기 서비스 AWS Opensearch 도입기

후기 서비스의 조회 병목을 해결하기 위해 AWS Opensearch를 도입한 사례를 정리했습니다. CQRS와 이벤트 기반 구조로 전환하고 성능 테스트와 모니터링까지 함께 적용했습니다.

마켓컬리
마켓컬리
데브옵스

댓글 0개

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

댓글을 불러오는 중...