더북(TheBook)

이제 사용자의 ID 문자열을 이용하여 해시 함수를 실행합시다. 해시 함수는 여러분이 일반적으로 많이 사용하는 형태면 됩니다.

int Hash(string userID, int shardCount)
{
  int x = 0;
  foreach(ch in userID)
  {
      x ^= ch;           // XOR 연산으로 조합한다.
  }
  return x % shardCount; // MOD 연산
}

Tip

이 해시 함수 예제에서는 샤드가 255개를 넘을 수 없습니다. 최소 문자열 2개 이상을 이용해서 XOR 연산을 하세요. 이 함수는 여러분 이해를 돕기 위해 최대한 간단하게 만든 것입니다.

 

이 함수가 리턴한 값은 몇 번째 샤드인지를 가리키는 인덱스가 될 것입니다. 이제 해당하는 샤드에 질의를 던집시다. 우리가 분산 서버를 구성하기 전에 했던 것과 똑같이 하면 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.