서버 대기
Understand the server hold feature and how it preserves resources for your game servers.
읽는 시간 1분최근 업데이트: 21일 전
서버 대기는 서버가 지정된 시간 동안 할당을 받거나 예약을 실행할 수 있는 상태로 유지되도록 해 주는 관리 패턴입니다.
대부분의 경우 기능상 서버 대기를 시작하는 기능은 예약 기반 플릿에만 적용되지만, 할당을 처리하는 플릿에서도 이 기능을 사용할 수 있습니다.
문제 컨텍스트
예약 기반 플릿에서는 Multiplay Hosting이 수신되는 매치에 가장 적합한 서버를 선택할 수 없습니다. 예약 기반 플릿은 할당 기반 플릿만큼 효율적으로 확장할 수 없으며, 이에 다라 예약된 서버가 여러 머신에 걸쳐 단편화된 상태로 남아 있을 수 있습니다. 예약된 서버가 없는 머신은 미리 구성된 TTL에 따라 종료 및 삭제 대상으로 고려됩니다. 특성상 예약된 서버는 잠재적으로 단편화될 수 있기 때문에, Multiplay Hosting이 예약 기반 플릿의 비용을 효과적으로 최적화하기는 어려울 수 있습니다. TTL이 짧으면 미사용 머신을 더 빠르게 프로비저닝 해제하여 비용을 절약할 수 있으나, 서버 라이프사이클을 주의 깊게 관리하지 않으면 TTL이 짧은 머신은 종료 중에 예약 요청을 수신할 확률이 높아지고 이로 인해 게임 세션이 중단될 수 있습니다. 예를 들어 플레이어가 참여한 서버가 얼마 안 가 종료될 수 있습니다. 서버 대기 해결 방법을 사용하는 대신 머신 종료 TTL을 길게 설정하여 이 문제를 해결할 수도 있지만, 이렇게 하면 금전적인 비용이 발생합니다.해결 방법
서버를 대기시키면 서버가 실행되고 있는 머신이 미리 구성된 TTL을 초과해도 활성 상태를 유지할 수 있습니다. 대기 타임아웃은 서버별로 구성할 수 있지만, Multiplay Hosting에서 머신을 프로비저닝 해제할지 여부를 판단할 때는 현시점으로부터 가장 먼 시점의 타임아웃이 고려됩니다. 서버를 대기시켜도 가용 서버의 수에는 부정적인 영향이 미치지 않습니다. 즉, 서버 대기는 신규 머신 프로비저닝이 아닌 프로비저닝 해제에만 영향을 줍니다. Multiplay Hosting에서는 다음 동작이 권장됩니다.- 서버를 다음 요소 중 하나 이상을 기반으로 하는 시간 동안 대기시킵니다.
- 평균 매치 시간: 매치를 마친 플레이어가 다른 서버에 참여할 수 있음
- 현재 또는 가까운 미래의 서버 수요: 게임 개발자가 트래픽 급증을 예상하는 경우
- 신규 플레이어를 받는 평균 시간: 이 시간 안에 서버가 플레이어를 받지 않으면, 용량이 필요하지 않은 것일 가능성이 큼
- 서버에서 주기적으로 서버 대기 시간을 확인하고 필요 시 새로 고칩니다.
- 더 이상 용량이 필요하지 않은 경우 서버 대기가 제거됩니다.
- 더 효율적인 스케일링: 머신을 더 빠르고 안전하게 종료하고 삭제할 수 있습니다.
- 게임 세션 보장: 예약되는 서버가 해당 시점까지 대기한 시간만큼 앞으로도 활성화 상태로 유지됩니다.
- 향상된 서버 라이프사이클: 서버 라이프사이클이 Multiplay Hosting이 아닌 게임 스튜디오에서 서버 라이프사이클을 보다 긴밀하게 제어할 수 있습니다.
서버 대기 실행
서버 대기는 로컬 프록시에서 관련 엔드포인트를 실행하여 생성, 조회, 제거할 수 있습니다. API 기술 자료는 여기에서 확인하십시오. 서버 대기를 생성하면 해당 서버가HELDALLOCATEDRESERVED서버 대기 만료
위 기술 자료에 명시된DELETE- 최신 대기 요청에 지정된 타임아웃이 초과되었습니다(서버가 상태로 전환됨).
ONLINE - 서버가 할당되었습니다(서버가 상태로 전환됨).
ALLOCATED - 서버가 예약되었습니다(서버가 상태로 전환됨).
RESERVED - 서버가 수동으로 중지되었습니다(서버가 상태로 전환됨).
AVAILABLE - 서버가 수동으로 재시작되었습니다(서버가 상태로 전환됨).
ONLINE - 활성 빌드 구성이 변경되었습니다(서버가 상태로 전환됨).
ONLINE
- 서버가 반환 코드와 함께 스스로 종료되었습니다.
HELD