일관성 해싱

가상 노드는 서버를 늘리는 기술이 아니라, 링 위의 책임 구간을 잘게 나누는 기술입니다.

물리 서버가 하나의 위치만 가지면 특정 구간이 길어집니다. 같은 서버를 여러 가상 위치로 흩뿌리면 부하와 재배치 충격이 작아집니다.

물리 노드만 배치

N1
N2
N3
N1
N2
N3
대표 위치가 1개면 긴 구간이 그대로 남습니다.

키가 몰리는 구간을 맡은 노드가 더 많은 요청을 받기 쉽고, 노드 추가 시 이동 범위도 커집니다.

가상 노드 사용

N1-1
N2-1
N3-1
N1-2
N2-2
N3-2
N1
N2
N3
같은 서버가 여러 작은 구간을 나눠 맡습니다.

특정 서버가 한 덩어리를 독점하지 않아 부하가 고르게 퍼지고, 재배치도 작은 조각 단위로 일어납니다.

부하 편중 완화

긴 담당 구간을 여러 조각으로 쪼개 서버별 요청량 차이를 줄입니다.

재배치 충격 감소

노드를 추가하거나 제거할 때 전체가 아니라 인접한 작은 구간만 움직입니다.

운영 조정 가능

성능이 큰 서버에는 더 많은 가상 노드를 배치해 더 많은 구간을 맡길 수 있습니다.