소규모 지역 하나도 게임 서버 한 대에서 다 처리하기 힘들 때가 있습니다. 여기서는 같은 MMORPG 장르라고 하더라도 프로그램마다 분산 서버 모델이 제각각 달라집니다. 앞서 이미 알아보았던 성능 분석 후 분산 모델을 정하는 과정이 여기서도 필요합니다.
• NPC 관련 로직에 과부하가 걸리면 앞서 살펴본 것처럼 NPC 관련 로직을 다른 기기로 분산합니다. 플레이어 이동 연산을 하는 데 과부하가 걸리면 플레이어 이동 연산만 담당하는 서버로 분산합니다.
• 소켓 I/O에서 과부하가 걸릴 때도 있습니다. 이때는 게임 서버와 클라이언트 사이에 패킷 릴레이 서버를 두어 릴레이 서버가 멀티캐스트를 분담하는 것도 한 방법입니다.
▲ 그림 10-40 NPC 관련 로직을 따로 분리