핵심 요약
당근은 ECK 기반 검색 클러스터 앞에 search-coordinator를 두고 웜업이 끝난 노드만 검색에 참여하도록 구성해 롤링 리스타트의 레이턴시 스파이크를 제거하고 4개 클러스터의 배포를 1~2시간으로 단축했습니다.
구현 방법
- search-coordinator: HTTP 프록시이자 웜업 오케스트레이터로 작동
- Central Dogma로 prefer_nodes 관리
- Redis 분산 락으로 웜업 담당자 1명만 지정
- 웜업 쿼리를 Kafka 토픽으로 수집해 캐시 적중 강화
- 동시 웜업 노드 수를 최대 2대로 제한
주요 결과
- 배포 시간 1~2시간으로 단축
- 롤링 리스타트 시 p99 레이턴시를 1초 이내로 유지
- 예기치 못한 노드 재시작 시 자동 제외 및 재웜업으로 안정성 증가

