핫 키 문제, 일관성 해싱의 치명적 약점!

by DD
5개월 전
조회수 11

일관성 해싱 기반 시스템에서 특정 사용자(핫 키)의 과도한 트래픽으로 인한 서버 장애 문제를 지적함

가상 노드는 데이터 분산에는 효과적이나, 핫 키 문제 해결에는 적합하지 않으며, 안전 밸브핫 키 분산 전략을 제시함

eBPF를 활용한 핫 키 감지 및 로드 밸런싱을 통해 성능 저하를 방지하고, 캐시 지역성을 유지하는 방법을 제시함

핫 키 문제의 근본 원인

일관성 해싱은 캐시 지역성을 보장하지만, 특정 키에 트래픽이 집중되는 Access Skew 문제를 해결하지 못한다. 구체적으로, 핫 키는 단일 서버에 과부하를 유발하여 연쇄 장애를 발생시킨다. 따라서 가상 노드 추가는 근본적인 해결책이 아니며, 트래픽 분산 전략이 필요하다.

안전 밸브 및 핫 키 분산 전략

안전 밸브는 서버 용량을 초과하는 트래픽을 다른 서버로 분산하여 가용성을 확보한다. 구체적으로, 서버 부하가 임계치를 넘으면 트래픽을 다른 서버로 폴백시킨다. 반면, 핫 키 분산은 핫 키를 여러 서버로 분산하여 부하 분산을 실현한다. 결과적으로 읽기 성능을 희생하는 대신 쓰기 확장성을 확보한다.

eBPF를 활용한 핫 키 감지 및 라우팅

eBPF는 커널 레벨에서 트래픽을 감지하여 핫 키를 식별하고, 로드 밸런서를 통해 해당 트래픽을 별도의 핫 티어로 라우팅한다. 구체적으로, Count-Min Sketch를 사용하여 핫 키를 빠르게 감지하고, CDN 또는 Redis 클러스터로 트래픽을 우회한다. 따라서 애플리케이션 서버의 부하를 줄이고 안정적인 서비스 운영을 보장한다.

The “Hot Key” Crisis in Consistent Hashing: When Virtual Nodes Fail You