이제 사용자의 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 연산을 하세요. 이 함수는 여러분 이해를 돕기 위해 최대한 간단하게 만든 것입니다.

     

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

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