USE CASE / GAME

APPLICATION BLUEPRINT

같은 보상을 여러 번 받을 수 없도록 수령 권리를 먼저 확정합니다.

이벤트 보상, 한정 드롭, 쿠폰 코드처럼 중복 수령이 허용되지 않는 상태를 게임 서버의 hot path에서 분리하는 적용 구조입니다.

전체 적용 사례
여러 게임 이용자가 동일한 보상 권리를 요청하고 하나만 확정되는 모습

THE CONTENTION

문제는 요청 수보다 같은 상태를 동시에 바꾸려는 경쟁입니다.

01

중복 수령 경쟁

재시도와 동시 요청이 겹쳐도 같은 계정·보상 조합은 한 번만 확정되어야 합니다.

02

한정 드롭 소진

전체 수량과 사용자별 수령 제한을 동시에 적용하면서 남은 권리를 정확히 감소시켜야 합니다.

03

게임 서버 부하

플레이 로직과 보상 경쟁을 같은 저장소 잠금에 묶으면 이벤트 순간 지연이 커질 수 있습니다.

STATE FLOW

업무 흐름을 작은 상태 전환으로 분리합니다.

01
ELIGIBLE

수령 조건을 충족한 사용자

02
CLAIMING

사용자·보상 키에 대한 경쟁 처리

03
CLAIMED

수령 권리 최종 확정

04
EXPIRED

기간 종료 또는 정책상 회수

SYSTEM BOUNDARY

기존 업무 시스템은 유지하고 결정 구간만 분리합니다.

EXISTING SYSTEM

System of Record

  • 계정과 캐릭터
  • 인벤토리 원장
  • 게임 규칙
  • 아이템 지급
BURST GUARDIAN

Decision Layer

  • 보상 Claim
  • 중복 수령 차단
  • 한정 수량 감소
  • 만료·회수 상태

이 페이지는 Game 분야의 적용 설계를 설명합니다. 현재 공개 상용 Vertical은 TicketBG이며, Game 적용은 고객 환경에 맞춘 PoC부터 진행합니다.

WHAT CHANGES

전체 시스템이 아니라 경쟁 상태의 책임만 명확해집니다.

01

Exactly-once 권리

재시도가 발생해도 보상 수령 상태는 한 번만 확정하도록 설계할 수 있습니다.

02

이벤트 부하 격리

보상 경쟁 경로를 플레이·인벤토리 경로와 분리할 수 있습니다.

03

정책 단순화

계정, 시즌, 이벤트 단위의 수령 키를 명확한 상태로 관리합니다.

RELATED USE CASES

같은 State Engine primitive를 다른 분야에도 적용합니다.

POC

보상 키와 중복 제한 조건부터 PoC로 검증합니다.