실시간 인메모리 게임엔진 AWS 수평확장 아키텍처 설계

Project Detail

실시간 인메모리 게임엔진 AWS 수평확장 아키텍처 설계

유저별 ~100ms 틱 루프를 인메모리로 보유하는 stateful 게임 백엔드를 어떻게 AWS에서 수평 확장할지 결정하기 위해, 9개 후보 아키텍처를 설계·적대 검증하고 5개 축으로 정량 점수화해 팀 의사결정 자료로 만든 인프라 설계 문서(736줄).

2026.06인프라 아키텍트 · 분산 시스템 설계김남해

Headline Result

9개

후보 아키텍처 · 5축 정량 점수화

기간
2026.06
역할
인프라 아키텍트 · 분산 시스템 설계
참여 멤버
김남해

결과 지표

  • 9개후보 아키텍처 · 5축 정량 점수화
  • 실제 코드 대조 기반 fencing 결함 규명
  • 인프라 설계 doc 736줄 (단독 저작)

Problem → Solution → Outcome

⚠ PROBLEM

엔진 세션을 인메모리로 들고 있어(인메모리 세션 매니저) 배포·확장 시 연결이 끊기고 반복 OOM이 발생. '무상태로 재설계할 것인가, stateful을 유지하고 소유권을 어떻게 다룰 것인가'가 토폴로지 전체를 가르는 미해결 결정이었다.

⚙ SOLUTION4 steps
  1. 1

    패러다임 분기 정의

    무상태 외부화(게임상태를 DynamoDB로) vs stateful 유지(인메모리 틱 엔진 + 정규화 save/load) 두 축으로 후보를 가름

  2. 2

    9개 후보 아키텍처(단일 모놀리스·릴레이+동적소유권·샤딩 액터·웜풀 하이버네이션·이벤트 버스·EKS StatefulSet 등)를 각각 Mermaid 토폴로지로 설계

  3. 3

    feasibility·distinctness·scalability·opsSimplicity·realtimeFit 5축으로 정량 점수화(예: 모놀리스 76 · 릴레이 70 · 샤딩 68)해 판단 자료화 — 약점 있는 후보도 탈락시키지 않고 미팅 저울질용으로 남김

  4. 4

    split-brain 방지 fence를 dispose-save뿐 아니라 in-tick DB row 레벨까지 밀어야 함을 실제 세션 매니저 코드와 대조해 규명, Decision log(D1→D2)로 배제안(이벤트소싱·Agones) 근거 기록

✦ OUTCOME
  • '무상태로 시작 후 단계적 확장' 결정을 뒷받침하는 근거 기반 아키텍처 선택지 정리

  • 월 비용 추정(안별 $190~330/월 대역)과 운영 복잡도 트레이드오프를 팀이 비교 가능한 형태로 시각화

기술 스택

AI / Data

Mermaid

DB / Infra

AWSRedis (세션 레지스트리)

Etc

ap-northeast-1VPC / ALB / NLBEC2 / Fargate (Graviton)Auto ScalingRDS (Multi-AZ)DynamoDBTerraform

아키텍처 다이어그램

Mermaid로 작성 · 아래에서 직접 편집해 미리볼 수 있어요

아키텍처

다이어그램 렌더링 중…
✎ Mermaid 직접 편집해보기
미리보기
렌더러 불러오는 중…
← 홈으로 돌아가기모든 프로젝트 보기 →