서로 다른 두 데이터 간 상호 작용을 할 일이 있는지도 살펴봅시다. 다행히 없다면 이야기가 간단합니다. 그냥 이렇게 수평 확장을 하면 됩니다.
수평 확장한 후에는 다음과 같이 작동해야 하겠네요.
1. 클라이언트는 인증 서버 중 하나에 접속합니다.
2. 클라이언트는 서버 주소 목록을 가지고 있습니다. 그리고 서버 중 랜덤으로 하나를 선택하고 접속합니다.
3. ID와 비밀번호를 보냅니다. 인증 서버는 이것을 앞서 알아본 방식과 동일하게 처리합니다. 인증 서버는 플레이어 정보를 액세스하기 위해 데이터베이스에 질의를 실행합니다.
클라이언트가 서버 주소 목록을 가지고 있지 않을 경우, 클라이언트에서 들어오는 연결을 서로 다른 인증 서버에 분배해 주는 역할을 하는 하드웨어를 그 사이에 두는 것도 방법입니다. 이러한 역할을 하는 것을 로드 밸런서(load balancer)라고 합니다.
▲ 그림 10-5 로드 밸런서