쿠키런: 킹덤 길드 업데이트 이후 서비스 이슈 회고
·2023.04.19 09:00
쿠키런: 킹덤 길드 업데이트 중 발생한 CockroachDB의 Hot Range 이슈와 그 원인을 분석했다.
CockroachDB는 데이터를 Range 단위로 나누어 저장하며, 부하가 특정 Range에 집중되는 Hot Range(Hot Spot) 현상이 발생할 수 있다.
2021년 3월 길드 업데이트 직후, 특정 노드의 CPU 사용량이 급증하며 서비스 에러가 발생했다. 이는 로드가 고르게 분배되지 않고 특정 노드에 과도한 부하가 집중되었기 때문이다.
근본 원인은 인덱스의 Prefix 구조와 유저 유입 패턴의 변화였다. 기존에는 튜토리얼 단계에서 유저 유입이 분산되어 자연스러운 데이터 분할(Split)이 이루어졌으나, 길드 업데이트는 유입 Funnel이 거의 없어 특정 Primary Key 범위에 쓰기 작업이 폭주했다.
또한, 코드 리팩토링 과정에서 Primary Key 포맷이 변경되면서 기존에 분할되어 있던 Range 중 극히 일부만 사용되게 되어 Hot Range 현상을 심화시켰다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.