게임 기술 · 3 min read · Jan 17, 2026

실시간 멀티플레이어 혁신: 지역 간 매칭을 위한 고급 퍼브-서브 아키텍처

파일 전송 일러스트레이션

전 세계적으로 실시간 멀티플레이어 게임이 확장됨에 따라, 전통적인 네트워킹 모델은 낮은 대기 시간 기대치, 규정 준수 제약 및 예측할 수 없는 플레이어 분포의 무게에 압도되고 있습니다.

이 기사에서는 이벤트 기반 퍼브-서브 아키텍처가 채널 파티셔닝, 브로커 레이어링 및 대기 시간 인식 라우팅과 결합될 때 매칭 시스템을 확장 가능하고, 탄력적이며, 전 세계적으로 접근 가능한 인프라로 변환할 수 있는 방법을 탐구합니다.

설명된 접근 방식은 상업적으로 성공적인 캐주얼 및 카드 기반 멀티플레이어 타이틀에서 실시간 백엔드 시스템을 설계하고 배포한 수년간의 결과입니다.

산업이 “단순 매칭”을 넘어야 하는 이유

대부분의 모바일 게임 백엔드는 여전히 지리적 근접성, 균일한 대기 시간 및 안정적인 서버 접근을 가정하는 단일 매칭 서버 또는 단순한 대기열 시스템에 의존하고 있습니다. 이러한 가정은 실제 세계에서 빠르게 무너집니다:

  • 플레이어는 대기 시간이 다양한 지역에서 참여합니다.

  • 방화벽 및 규정 준수 제한으로 인해 특정 데이터 센터에 대한 접근이 제한됩니다.

  • 피크 트래픽으로 인해 대기열 병목 현상이나 매칭 변동이 발생합니다.

이 문제를 해결하기 위해 우리는 사고 모델을 전환해야 합니다: 매칭은 선형 프로세스가 아니라 실시간으로 적응해야 하는 결정 지점이 있는 동적 다단계 파이프라인입니다.

현대 멀티플레이어 인프라에서 퍼브-서브의 역할

포인트 투 포인트 소켓이나 REST API와 달리, 퍼블리셔-구독자(퍼브-서브) 시스템은 다음을 허용합니다:

  • 로비, 매치 상태 및 플레이어 의도의 비동기 오케스트레이션.

  • 클라이언트, 게임 인스턴스 및 오케스트레이션 논리 간의 느슨한 결합.

  • 원본 서버에 과부하를 주지 않고 다중 지역 메시지 라우팅.

이 모델에서는 플레이어 경험의 모든 단계가 이벤트 기반입니다. 로비 발견에서 이동 제출까지, 이벤트는 라우팅 및 변환을 투명하게 처리하는 주제 기반 또는 팬아웃 채널에 게시됩니다.

아키텍처 패턴: 동적 채널을 통한 로비 샤딩

아키텍처 패턴

우리의 실제 배포에서는 플레이어를 동적 퍼브-서브 채널을 통해 로비에 할당하는 샤딩 매칭 아키텍처로 발전했습니다. 작동 방식은 다음과 같습니다:

  1. 인그레스 게이트웨이는 플레이 요청을 수신하고 지역별 매칭 주제에 “참여 요청”을 게시합니다.

  2. 매치메이커 서비스(무상태, 수평 확장 가능)는 이 주제를 구독하고 플레이어를 로비 샤드—일시적인 퍼브-서브 채널—로 라우팅합니다.

  3. 샤드가 정족수(예: 4명)에 도달하면, 서비스는 모든 구독 클라이언트에게 start_game 이벤트를 게시합니다.

  4. 각 클라이언트는 전용 매치 상태 주제를 통해 관리되는 실시간 게임 세션으로 전환됩니다.

이 패턴은 게임 세션과 독립적으로 매칭을 확장하고 매치 형성 전에 사용자 정의 논리(예: ELO 균형 조정, 대기 시간 최적화 또는 부정 행위 프로파일링)를 적용할 수 있게 해줍니다.

지역 간 브로커 메쉬: “차단된 서버” 문제 해결

우리가 해결한 더 고급의 도전 과제는 국경 간 규정 준수 및 장애 조치와 관련이 있습니다. 외국 클라우드 인프라에 대한 접근이 제한된 지역(예: 특정 CIS 국가)에서는 브로커 메쉬를 사용합니다:

  • 지역 플레이어는 로컬 엣지 브로커에 연결합니다.

  • 이러한 브로커는 주요 매치 주제가 암호화된 터널을 통해 국경을 넘어 안전하게 중계되는 계층화된 퍼브-서브 토폴로지의 일부입니다.

  • 이는 차단된 지역이 모든 데이터를 중앙 백본을 통해 강제로 전달하지 않고도 매칭 사각지대가 되는 것을 방지합니다.

우리는 플레이어를 로컬로 매칭할지, 중개 노드를 통해 라우팅할지, 호환되지 않는 지역을 제외할지를 동적으로 결정하는 대기 시간 인식 릴레이 컨트롤러를 구축했습니다—UX를 손상시키지 않으면서 규정 준수를 보장합니다.

운영 사용에서의 주요 교훈

수백만 세션과 실제 현금 기반 PvP 매치에서 몇 가지 통찰력이 두드러집니다:

  • 주제 위생이 중요합니다. 자동 만료 또는 일시적인 주제는 메모리 누수 및 유령 플레이어를 방지합니다.

  • 브로커 선택이 중요합니다. Redis PubSub는 간단하지만 순서 및 전달 보장이 부족합니다; NATS 및 Kafka는 설정 복잡성의 대가로 더 많은 제어를 제공합니다.

  • 관찰 가능성은 내장되어야 합니다. 모든 메시지 이벤트는 추적 가능해야 합니다—OpenTelemetry는 미세한 비동기 및 시간 초과를 찾아내는 데 도움이 되었습니다.

  • 클라이언트 측 폴백은 협상할 수 없습니다. 퍼브-서브가 실패할 때(예: 불안정한 모바일 네트워크), 클라이언트는 우아하게 폴링 모드 복구로 전환합니다.

완전 서버리스 오케스트레이션으로 나아가기

우리는 이제 미래 게임을 위한 서버리스 우선 아키텍처를 탐색하고 있습니다. 여기서

  • 매칭 로직은 이벤트 기반 함수(예: AWS Lambda, GCP Cloud Functions)로 표현됩니다.

  • 로비 오케스트레이션은 로드 스파이크 동안 지역별로 생성되는 무상태 컨테이너에서 실행됩니다.

  • 퍼브-서브는 매칭 및 게임 내 메시징을 위한 핵심 구조로 남아 있으며, 인프라 라우팅의 복잡성을 추상화합니다.

이는 콜드 스타트 시간을 줄이고, 배포 파이프라인을 단순화하며, 적은 운영 오버헤드로 매일 수백만 개의 매치를 지원할 수 있게 합니다.

결론

퍼브-서브는 단순한 구현 세부 사항이 아닙니다—현대 조건에서 멀티플레이어 게임이 확장되고 적응하며 생존하는 방식을 재구성할 기회입니다.

게임 플레이뿐만 아니라 로비 오케스트레이션, 지역 규정 준수 및 매칭 탄력성에 적용함으로써, 우리는 설계상 실시간이며 공정하고 전 세계적으로 이용 가능한 새로운 세대의 모바일 경험을 열 수 있습니다.


이 기사는 Andrei Kulakov가 저술한 의견 기사입니다.

Andrei Kulakov는 모바일 및 캐주얼 게임을 위한 멀티플레이어 인프라에 중점을 둔 시스템 아키텍트이자 게임 디자이너입니다. 그는 동유럽에서 가장 기술적으로 강력한 매칭 프레임워크에 기여했으며 현재는 대규모 글로벌 멀티플레이어를 위한 서버리스 아키텍처를 탐색하고 있습니다.


이 이야기는 2022년 10월 3일에 처음 발표되었습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.