더북(TheBook)

의사 코드를 보면 알겠지만 사실상 분산 처리를 하기 전 코드와 동일합니다. 코드도 단순하죠.

서버 2에서는 반대 방향으로 데이터 변경이 전파될 것입니다. 서버 2에서는 몬스터에 대한 다른 처리, 예를 들어 몬스터가 월드를 어슬렁어슬렁 돌아다니는 처리 등을 합니다. 이러한 처리에 따라 몬스터 정보가 변경될 때마다 서버 1에 이 사실을 알립니다. 서버 1은 이 변경 사항을 알고, 서버 1이 가진 몬스터 정보를 업데이트합니다.

p387

▲ 그림 9-18 서버 1과 서버 2의 데이터 복제

 

결과적으로 게임 플레이를 위한 로직 처리는 두 서버에 분산됩니다. 그러나 어떤 처리가 다른 서버와 맞물려 돌아가지 않고 각 서버가 알아서 처리합니다. 한쪽 서버에서 데이터 변화가 발생하면 나머지 서버에도 전파됩니다. 즉, 데이터 복제가 일어납니다.

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