더북(TheBook)

1.10 싱글스레드 게임 서버

 

 

많은 상용 게임 서버는 CPU가 여러 코어로 구성되어 있습니다. 따라서 게임 서버를 싱글스레드로 구동하는 경우 코어 하나만 사용하게 되는 비효율성 문제가 생깁니다. 싱글스레드 서버를 구동하는 경우 CPU 개수만큼 프로세스를 띄우는 것이 일반적입니다.

▲ 그림 1-42 싱글스레드, 멀티프로세스

 

그림 1-42에서 각 서버 프로세스는 방(room)을 여러 개 가집니다. 방에서는 플레이어 하나 이상이 싱글플레이 혹은 멀티플레이를 합니다.

멀티스레드 프로그래밍은 싱글스레드 프로그래밍보다 어렵습니다. 그래서 아예 멀티스레드 프로그래밍을 포기한 채 그냥 싱글스레드 서버를 만들고, 서버를 CPU 개수만큼 띄우는 형태로 개발하는 사람들도 있습니다.

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