logo
logo
당근마켓 검색 엔진, 쿠버네티스로 쉽게 운영하기
코드너리  |  2023. 05. 29
검색 플랫폼
쿠버네티스 환경
사용된 기술:
kubernetes-image
elasticsearch-image
content

개요

  1. ECK 기반 검색 클러스터 실행: 운영 환경과 동일한 규모의 ECK 기반 검색 클러스터를 생성해요.
  2. 실시간 색인 및 전체 색인 작업 일시 정지: 문서 누락에 대비하고 색인 데이터의 일관성을 유지하기 위해 이관 중에는 전체 색인 및 실시간 색인을 잠시 정지해요.
  3. 기존 검색 클러스터에서 스냅샷 생성: 새로운 검색 클러스터에 색인 데이터를 주입하기 위해 기존 검색 클러스터에서 스냅샷을 생성해요.
  4. 새로운 검색 클러스터에 스냅샷 저장: 위에서 생성한 스냅샷 데이터를 새로운 검색 클러스터에 주입해요. 색인 작업이 멈춘 후에 스냅샷을 생성했기 때문에 기존 검색 클러스터와의 데이터 일관성을 보장할 수 있어요.
  5. 라우터가 새로운 검색 클러스터를 바라보도록 변경: 검색 로드밸런서 앞에는 AWS의 Route53을 이용한 라우터가 있는데, 이 라우터가 트래픽을 전달하는 대상을 새로운 검색 클러스터로 변경해요. 이렇게 하면 사용자는 기존 도메인 이름을 그대로 사용하면서 새로운 검색 클러스터로부터 검색 결과를 받을 수 있어요. 색인 쪽 라우터도 마찬가지로 새로운 검색 클러스터를 바라보도록 변경해서 색인 작업의 엔드포인트를 변경하지 않고 그대로 사용할 수 있게 했어요.
  6. 실시간 색인 및 전체 색인 작업 실행: 위 작업 동안 새로운 문서가 일시적으로 업데이트되지 않았기 때문에, 빠르게 실시간 색인 작업을 실행해서 새로운 ES 클러스터에서 검색 가능하도록 해요. 전체 색인 작업도 정상 작동을 확인할 목적으로 재실행했어요.
  7. 기존 검색 클러스터 종료: 하루 정도 모니터링을 해보고 문제가 없다고 판단됐을 때 기존 검색 클러스터를 종료해요.
Copyright © 2024. Codenary All Rights Reserved.