쿠키런 킹덤, 길드 업데이트 후 DB 장애 극복기!

by DD
3년 전
조회수 8

길드 업데이트 후, CockroachDBHot Range 문제로 데이터베이스 과부하 발생

점검 아닌 점검을 통해 접속 유저 수를 조절하고, 데이터 백업을 진행함

Hot Range 발생 원인 분석 및 노드 제거, 데이터베이스 안정화 노력, 데이터베이스 성능 개선

Hot Range 발생 원인 분석

CockroachDBRange 단위로 데이터를 분산 저장하며, Primary Key 정렬 후 분할한다. 구체적으로 길드 업데이트 후, 인덱스 Prefix 구조 변경새 노드 추가로 인해 Hot Range가 발생했다. 따라서, 부하 분산 실패로 데이터베이스 성능 저하가 발생했다.

점검 아닌 점검: 우회 해결 전략

서버 점검 없이 접속 대기열 기능을 활용하여 부하를 줄였다. 구체적으로, 로그인 블록을 통해 신규 유저 접속을 제한하고, 기존 유저는 킥하지 않았다. 반면, 데이터베이스 안정화를 위해, 데이터 백업을 진행하고, 노드 제거를 통해 문제를 해결했다.

교훈: 분산 시스템 운영의 어려움

분산 데이터베이스 운영 시, Hot Range와 같은 문제 발생 가능성을 인지해야 한다. 따라서, Primary Key 설계 시 데이터 분포를 고려하고, 모니터링 시스템을 구축하여 이상 징후를 조기에 감지해야 한다. 결과적으로, 데이터 무결성서비스 안정성을 확보할 수 있다.

쿠키런: 킹덤 길드 업데이트 이후 서비스 이슈 되돌아보기

댓글 0

첫 번째 댓글을 남겨보세요!