consistent hash (ring hash) 간단하게 구현
요새 golang으로 캐시서버를 만들고 있는 중입니다.물론 golang 학습을 위해 구성하고 있기에, mini project 성격이 강합니다.계획은 간단한 key-value 캐시서버를 만들고, 여러 대의 캐시서버를 두는 분산 캐시서버를 만드는 것입니다.분산 캐시서버를 만들 때, 가장 중요한 부분 중 하나가 key값을 여러 대의 서버에 어떻게 분배할 것인가 하는 문제입니다.보통 이런 경우, 해시함수를 이용하여, key값을 해싱한 후, 그 값을 서버대수로 나눈 나머지로 서버를 결정하는 방식을 많이 사용합니다.하지만, 이런 방식은 서버가 추가되거나 제거될 때, 많은 key값들이 영향을 받게 됩니다.예를 들어, 3대의 서버가 있을 때, key1이 서버 1에 매핑되었다고 합시다. 이 상황에서 서버가 하나 추가되어..
2025. 11. 17.