게임 서버의 2가지 기술 [4 / 4], Stateful 서버, Stateless 서버의 장단점

Stateful 게임서버의 장점, 단점

여러 유저와의 실시간 상효작용이 이루어 지기 위해 사용할 수 있는 유일한 방법 입니다.

  1. 연결 유지로 인해 다른 유저들의 행동,변화를 바로바로 동기화 가능
  2. 빠른 처리 속도로 실시간 온라인 게임이 가능
  3. 모든 게임의 로직을 서버가 전담 하므로 핵이 불가능 함
  1. 개발 자체가 어려움
  2. 서버가 다운되면 모든 유저의 게임이 종료되며, 롤백 가능성이 있음
  3. MMORPG 같은 경우 한 서버당 접속자 제한이 생김 (서버군,채널로 분산)

Stateless 게임서버의 장점, 단점

  1. 개발이 훨씬 편리함. (언어자체의 편의성, 자료, 라이브러리 등이 많음)
  2. 서버의 오류가 발생 하여도 일부 유저,일부 기능에만 문제가 생김
  3. 모든 데이터는 DB 기준으로 처리 하기 때문에 서버 다운의 롤백이 없음
  4. 웹서버의 분산 처리가 용이함.
  1. 서버와의 실시간 처리는 어려움이 있음
  2. 일부 게임의 경우 클라이언트 단독 로직으로 인해 핵이 존재함

Stateful 과 Stateless 의 선택

온라인 게임서버의 2가지 기술이 있지만 선택의 기준은 명확합니다. 게임의 장르에 따라서 결정되어야 하며, 클라이언트의 플렛폼 (PC, 모바일) 에 따라 결정되는 사항은 아닙니다.

MMORPG, MOBA, 스포츠, 액션 등과 같이 다른 유저와 실시간 플레이를 하는 게임이라면 Stateful 서버로 개발 되어야 하며, 이런 요소가 없는 비동기형 온라인 게임이라면 Stateless 로 개발 되는것이 맞습니다.

물론 2가지 기술이 모두 사용되는 게임서비스도 많이 있습니다.

MMORPG 임에도 로그인/로비 서버는 Stateless 서버로, 실제 게임은 Stateful 서버로 만들기도 하며, 모바일 비동기 온라인 게임의 경우도 메인 게임서버는 Stateless 서버로 만들지만 채팅이나 실시간 PVP 컨텐츠 와 같이 일부 컨텐츠에 대해서만 Stateful 서버를 만들어서 서비스가 되는 경우도 종종 있습니다.

어느 기술이 좋다 나쁘다의 비교의 대상이 아니며 적용 대상이 다른 것입니다.

감사합니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다