더북(TheBook)

데이터 응집도를 무시한 극단적인 사례를 봅시다. 좁은 지역에 플레이어 캐릭터와 몬스터 캐릭터가 뒤섞여 있습니다. 그리고 각 캐릭터를 담당하는 서버가 서로 다릅니다.

p390

▲ 그림 9-20 응집도를 무시한 극단적인 사례

 

이러한 상황에서 여기 있는 모든 플레이어가 자기 주변에 광역으로 효과를 줄 수 있는 행동을 취한다고 가정합시다. 예를 들어 불바다 마법 스킬을 시전하거나 광역 치료 스킬을 시전합니다. 어떤 일이 발생할까요?

각 플레이어가 취하는 광역 스킬은 주변에 있는 모든 캐릭터에 영향을 줄 것입니다. 그리고 각 캐릭터를 담당하는 모든 서버에 메시지를 전송할 것입니다. 모든 플레이어가 광역 스킬을 쏜다고 했을 때, 발생하는 메시지 송수신의 양은 플레이어 수와 캐릭터 수를 곱한 값이 됩니다. 한마디로 캐릭터 수의 제곱에 비례하여 서버끼리 대화해야 합니다.

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