안정 해시 설계1 [가상 면접 사례로 배우는 대규모 시스템 설계 기초] 5장. 안정 해시 설계 해시 키 재배치(rehash)문제 N개의 캐시 서버가 있을 때 이 서버들에 부하를 균등하게 나누는 보편적인 방법은 아래의 해시함수를 사용하는 것. serverIndex = hash(key) % N (N은 서버의 개수) 이 방법은 서버 풀의 크기가 고정되어 있을 때 그리고 데이터 분포가 균등할 때는 잘 동작함. 하지만 서버가 추가되거나 기존 서버가 삭제되면 문제가 생긴다. 1번 서버의 동작 중단 시 서버 풀은 크기가 3으로 변함. 그 결과 키에 대한 해시 값은 변하지 않지만 나머지 연산을 적용하여 계산한 서버 인덱스 값은 달라질 것으로 예측 가능하다. 따라서 1번 서버가 죽으면 대부분 캐시 클라이언트가 데이터가 없는 엉뚱한 서버에 접속하게 된다. 그 결과 대규모 캐시 미스가 발생 가능. 안정해시는 이용하여.. 2023. 2. 28. 이전 1 다음 반응형