View a markdown version of this page

멀티플레이어 게임을 위한 대규모 실시간 메시징 - 멀티플레이어 게임을 위한 대규모 실시간 메시징

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

멀티플레이어 게임을 위한 대규모 실시간 메시징

게시일: 2020년 11월 11일(다이어그램 기록)

이 아키텍처는 수백만 명의 동시 사용자(CCU)를 지원하도록 확장할 수 있는 멀티플레이어 게임에 실시간 메시징을 제공하는 방법을 보여줍니다. 이 솔루션은 Amazon ElastiCache for Redis 및 WebSockets와 함께 여러 Redis PubSub 클러스터를 사용하여 수평적 확장성을 제공합니다.

멀티플레이어 게임용 대규모 실시간 메시징 다이어그램

Amazon ElastiCache for Redis PubSub 클러스터 및 WebSockets을 사용하여 멀티플레이어 게임에 실시간 메시징을 제공하는 방법을 보여주는 참조 아키텍처 다이어그램입니다.

다음 단계에서는 아키텍처를 설명합니다.

  1. 실시간 메시징 서버가 시작되면 서비스 검색 캐시(용 Amazon ElastiCache 사용Redis)에서 사용 가능한 Redis PubSub 인스턴스 목록을 확인합니다. 서버는 각 PubSub 인스턴스에서 동일한 주제를 구독합니다. 이 접근 방식은 올바른 서버에 여전히 도달하면서 여러 ElastiCache 클러스터의 트래픽을 샤딩합니다.

  2. 클라이언트는 Service Discovery API에 요청을 보내 연결할 실시간 메시징 서버를 검색합니다. 사용 가능한 메시징 인스턴스 목록은 서비스 검색 캐시에 저장됩니다.

  3. Service Discovery 캐시는 클라이언트, 실시간 메시징 인스턴스, Redis PubSub 클러스터 및 각 메시징 인스턴스가 수신할 수 있는 주제를 포함하여 연결된 엔드포인트에 대한 정보를 저장합니다. 클라이언트의 연결이 끊어지면이 정보가 캐시에서 제거됩니다.

  4. 애플리케이션은 메시징 API를 사용하여 클라이언트에 메시지를 전달합니다. API는 올바른 실시간 메시징 서버 및 게임 클라이언트에 도달하는 적절한 주제에 메시지를 게시합니다.

  5. 메시징 API는 Redis PubSub 인스턴스 중 하나의 주제에 메시지를 게시합니다. 각 실시간 메시징 서버는 모든 PubSub 인스턴스에서 동일한 주제를 수신하기 때문에 메시지를 수신하는 ElastiCache 클러스터에 관계없이 메시지가 전달됩니다.

참조 자료

자세한 내용은 다음 리소스를 참조하세요.

다이어그램 기록

이 참조 아키텍처 다이어그램의 업데이트에 대한 알림을 받으려면 RSS 피드를 구독하세요.

변경 사항설명날짜

최초 게시

참조 아키텍처 다이어그램이 처음 게시되었습니다.

2020년 11월 11일

참고

RSS 업데이트를 구독하려면 사용 중인 브라우저에 대해 RSS 플러그인이 활성화되어 있어야 합니다.