당근 검색 엔진, 쿠버네티스로 쉽게 운영하기 2편 — 데이터 노드 웜업 적용
87
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
이 게시물은 당근의 Elasticsearch를 쿠버네티스(ECK)로 운영하면서 롤링 리스타트 중 캐시 손실과 샤드 부하 집중으로 인한 레이턴시·가용성 문제를 해결하기 위한 데이터 노드 웜업 시스템 도입 사례 설명
문제
- 롤링 리스타트 시 데이터 노드의 파일시스템·쿼리 캐시가 비어 디스크 I/O 증가로 레이턴시 급증
- 노드 다운 시 샤드 부하가 남은 노드로 집중되어 클러스터 불안정화
해결 전략
- search-coordinator 프록시를 도입해 웜업 완료된 노드만 검색 트래픽 서빙
- Central Dogma로 prefer_nodes 관리, Redis 분산 락으로 웜업 담당자 선정, Kafka 기반 실트래픽으로 캐시 채움
목표
- 언제든 배포 가능하도록 운영자 개입 최소화, 롤링 리스타트 중 p99 latency 1s 이내 유지, 예기치 못한 노드 재시작 자동 대응

