더북(TheBook)

10.2 데이터베이스의 수평 확장

 

 

인증 서버는 부하가 분산되나, 데이터베이스 서버(이하 DB 서버)에는 여전히 과부하가 몰립니다.

p410

▲ 그림 10-7 데이터베이스 서버에는 여전히 과부하 발생

 

그렇다면 DB 서버에 몰리는 질의 요청을 서로 다른 DB 서버로 분배해야 하겠죠. 이제 DB 서버를 여럿으로 나누어 봅시다. 앞서 언급했듯이 플레이어 간 상호 작용은 없다고 전제했으므로 데이터베이스 자체는 수평 확장하기가 쉽습니다.

플레이어 정보를 서로 다른 데이터베이스 샤드에 골고루 나누어 저장합시다. 클라이언트는 여러 인증 서버 중 하나에 접속하고, ID와 비밀번호를 보냅니다. 인증 서버는 입력받은 ID 문자열에서 어느 데이터베이스 샤드에 질의를 실행해야 할지 판단해야 합니다.

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