Bingo — 통상 온라인 게임 서버 구성

접속 gateway · 인증/매칭 · 룸 서버로 분리

Bingo — 통상 온라인 게임 서버 구성 접속 gateway · 인증/매칭 · 룸 서버로 분리 Play ×2 · player actor · room Spot · Architecture component Play ×2 player actor · room Spot Location Store · Architecture component Location Store Redis · 대기방 예약 · Architecture component Redis 대기방 예약 client · Architecture component client Session ×2 · 연결 종단 · actor bind · Architecture component Session ×2 연결 종단 · actor bind Api ×2 · 인증 · 매칭 요청 · Architecture component Api ×2 인증 · 매칭 요청 Matchmaking · Matchmaker Instance Spot · Architecture component Matchmaking Matchmaker Instance Spot STREAM 연결 1개 인증 · 매칭 요청 level bucket 매칭 packet relay session push room GetOrCreate peer 자동 연결

gateway 구성

  • • client ↔ Session은 STREAM 연결 하나 (양방향, emphasis) — client는 Session 하나만 유지
  • • Session·Api·Play는 각각 ×2로 scale-out, 서버 간 연결은 Location Store가 해석
  • • Session→Api 매칭 요청 → Api가 level bucket으로 Matchmaker Instance Spot 매칭

매칭 · 룸 · push

  • • Matchmaker Instance Spot이 Redis로 대기방 예약을 원자적으로 결정
  • • Api가 room GetOrCreate → Session이 packet relay, Play가 bound session으로 push
  • • player actor와 room Spot이 다른 Play에 있어도 framework가 remote Spot join, 위치는 LS 자동 연결(점선)