분산 해시를 공부하면서 %N부터 가상 노드까지 차례로 다뤘습니다. 이렇게 순서대로 늘어놓으면, 마치 %N은 초보적인 출발점이고 가상 노드는 그 위의 고도화된 기법처럼 보이기 쉽습니다. 하지만 실제로는 그렇지 않습니다. 상황에 따라 %N을 일부러 선택하는 경우도 적지 않습니다. 이번에 다룰 레디스(Redis)가 바로 그런 사례입니다. 레디스는 어째서 해시 링이나 가상 노드를 두고 %N을 골랐을까요? 그리고 %N의 치명적인 약점인 재배치 문제는 또 어떻게 피해 갔을까요?레디스가 %N으로 해시 분산을 할 수 있는 이유해시값 % N으로 데이터를 분산하면, 가장 치명적인 약점은 바로 재배치 문제였습니다. 이 문제를 풀기 위해 우리는 자연스럽게 해시 링(안정 해시)이라는 아이디어를 떠올릴 수 있습니다. 하지만 레디..