1.0.2 ko public

스펙

RAWP

Current RAWP specification.

11. 게이트웨이 생명주기 (Gateway Lifecycle)

본 장은 로컬 클라이언트의 HTTP/WSS 서버(게이트웨이)의 시작, 중지, 재시작에 대한 프로토콜 계약을 정의한다.

11.1. 게이트웨이 상태 머신

STOPPED → STARTING → RUNNING → STOPPING → STOPPED

                              RESTARTING ─┘
상태 설명
STOPPED HTTP/WSS 서버 미기동. 모든 포트 미바인딩.
STARTING 서버 초기화 중. 포트 바인딩 시도.
RUNNING 서버 가동 중. 요청 수신 가능.
STOPPING 서버 종료 중. 신규 연결 거부, 기존 세션 정리.
RESTARTING STOPPINGSTARTING 연쇄 전이. 설정 변경 적용 등.

11.2. 상태별 동작 규칙

STARTING: 신규 세션 초기화(§5.1) 및 로컬 세션 생성(§10.1.1) 요청을 수락하지 않는다 (MUST NOT). 헬스체크(§4.2)에는 응답할 수 있다 (MAY).

STOPPING: 신규 연결을 거부하고, 모든 활성 세션을 정리한다. 활성 세션에 대해 RAWP-DPS 1.0.1 §7.5.3의 종료 절차를 수행한 후, WSS 연결을 종료해야 한다 (MUST).

RESTARTING: STOPPING 완료 후 STARTING으로 전이한다. 재시작 전후로 세션은 보존되지 않는다.

11.3. 헬스체크 확장

§4.2의 GET /v1/health 응답에 게이트웨이 상태 필드를 추가한다:

{
  "status": "String (필수, 'online', 'busy', 'error')",
  "uptime": "Number (필수, 클라이언트 가동 초)",
  "active_sessions": "Number (선택, 현재 유지 중인 세션 수)",
  "gateway_state": "String (필수, 'STOPPED' | 'STARTING' | 'RUNNING' | 'STOPPING' | 'RESTARTING')"
}

gateway_stateRUNNING이 아닌 상태에서 세션 초기화(§5.1)가 시도되면 503 Service Unavailable을 반환해야 한다 (MUST).

참조