더북(TheBook)

SNG(소셜 게임)에서는 게임 플레이 로직을 담당하는 서버와 게임 플레이어의 메모리 내부 정보를 가진 서버가 분리됩니다. 게임 플레이 로직만 담당하는 서버는 수평 확장된 로직 서버라고 합니다. 그리고 수평 확장된 메모리 캐시6가 로직 서버 뒤에 있습니다. 게임 클라이언트는 메모리 캐시에 직접 액세스할 수 없습니다. 로직 서버들 뒤에는 수평 확장된 데이터베이스도 있습니다.

게임 플레이 처리는 로직 서버에서 일어나지만 게임 플레이어의 메모리 공간은 각 메모리 캐시 서버 안에 있으며, 이 메모리 캐시 간에 데이터 동기화 또는 메시지 송수신이 일어납니다. SNG에서는 플레이어 간 상호 작용 횟수가 MMORPG나 FPS 게임에 비해서 훨씬 적습니다. 또 플레이어 간 상호 작용에서 발생하는 지연 시간이 어느 정도 길어도 됩니다. 그러나 SNG에서는 상호 작용해야 되는 플레이어 범위가 훨씬 넓습니다. 분산 서버의 구조가 특이한 이유입니다.

p448

▲ 그림 10-45 소셜 게임에서 서버 구성 예

 

6 잘 알려진 메모리 캐시 소프트웨어로 Redis, Memcached, Hazelcast, Oracle Coherence 등이 있습니다.

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