SendQueue

별도의 쓰레드에서 동작 -> 게임이 멈추지 않음

순차적으로 함수 호출 가능 한번에 하나의 비동기 함수 실행을 보장

순서 꼬임 & 쓰레드 터짐을 방지

게임 저장 기준

  • 주요 아니템을 얻었을 때
  • 강화아이템과 같은 게임 영향에 크게 영향을 주는 요소에는 저장을 하고 HP같은건 할필요 없음
  • 게임 끝날 떄 저장
  • 중요한 상호작용 또는 이벤트일 때 저장
  • 5분에 한번씩 저장할 필요 없음
  • 정상적인 게임 종료시에도 저장이 되도록 설계

  • 데이터 불러오기
    • 유저 정보는 대부분 로그인 이후 로딩에서 불러움
    • 이후 로켈에 저장해서 같은 유저 정보를 불러오는 것은 최대한 자제
    • 랭킹의 경우 또한 처음 한번 호출하고 그 다음에는 데이터를 가공해서 하는 식으로 구현한다.
    • 랭킹 같은 경우 6시간에 한번 씩 갱신되게
  • 뒤끝 로그 관리
    • 아이템이 없어졌을때
    • 결제를 했는데 아이템이 안들어올때
  • 해결방법
    • 해당 문제가 발생한 유저의 DB를 수동으로 확인하여 사실이 맞는 지 확인 후 알맞은 보상제공
    • 그러나 DB정보를 확인할 수 있는 게임정보 관리에서는 현재 데이터만 볼 수 있다.

뒤끝매치 프로세스

  • 매치서버 접속 (Join MAtchMakingServer)
  • 대기방 생성 (CreateMatchRoom)
  • 매칭신청 (RequestMatchMaking)
  • 인게임 서버 접속(JointGameServer)
  • 인게임 룸 접속 (JointGameRoom)
  • 게임 시작
  • 종료 & 결과 전송
  • 인게임 서버 퇴장