패스잇
백엔드 개발 · 심화

대규모 트래픽을 처리하는 서비스에서 Redis Cluster를 구축한다고 가정할 때, 데이터 샤딩 전략(예: 해시 태그) 선택 기준과 특정 키가 특정 슬롯에 할당되도록 제어하는 방법, 그리고 클러스터 재편성(resharding) 시 발생할 수 있는 성능 저하를 최소화하는 방안에 대해 설명해 주세요.

힌트 · 키 분포 균등성, 트랜잭션 요구사항, 관리 용이성 등을 고려하며, CLUSTER ADDSLOTS, MIGRATE 명령어 및 클러스터 관리 도구 활용을 언급하세요.

Consistent HashingSlot Hash TagsRedis Cluster APIPre-splittingMigration Throttling

모범답안

대규모 트래픽 서비스에서 Redis Cluster 구축 시 데이터 샤딩 전략은 키 분포의 균등성, 트랜잭션 요구사항, 관리 용이성을 종합적으로 고려하여 결정합니다. 해시 태그는 특정 키들을 동일한 노드에 묶어 트랜잭션 일관성을 유지하는 데 유용하지만, 키 분포가 불균등해질 수 있다는 단점이 있습니다.

특정 키를 특정 슬롯에 할당하려면, Redis Cluster API의 CLUSTER ADDSLOTS 명령어를 사용하여 슬롯을 특정 노드에 할당하거나, MIGRATE 명령어를 통해 키를 수동으로 이동시킬 수 있습니다.

클러스터 재편성 시 성능 저하를 최소화하기 위해서는 사전 분할(pre-splitting)을 통해 초기 슬롯 할당을 최적화하고, MIGRATE 명령어 사용 시 THROTTLE 옵션을 활용하여 데이터 마이그레이션 속도를 조절하는 것이 중요합니다. 또한, 클러스터 관리 도구를 활용하여 재편성 과정을 모니터링하고, 점진적으로 노드를 추가/제거하는 방식을 권장합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 캐시 (Redis) 면접 질문

← 캐시 (Redis) 면접 질문 전체 보기