기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
멀티플레이어 게임을 위한 대규모 실시간 메시징
게시일: 2020년 11월 11일(다이어그램 기록)
이 아키텍처는 수백만 명의 동시 사용자(CCU)를 지원하도록 확장할 수 있는 멀티플레이어 게임에 실시간 메시징을 제공하는 방법을 보여줍니다. 이 솔루션은 Amazon ElastiCache for Redis 및 WebSockets와 함께 여러 Redis PubSub 클러스터를 사용하여 수평적 확장성을 제공합니다.
멀티플레이어 게임용 대규모 실시간 메시징 다이어그램
다음 단계에서는 아키텍처를 설명합니다.
-
실시간 메시징 서버가 시작되면 서비스 검색 캐시(용 Amazon ElastiCache 사용Redis)에서 사용 가능한 Redis PubSub 인스턴스 목록을 확인합니다. 서버는 각 PubSub 인스턴스에서 동일한 주제를 구독합니다. 이 접근 방식은 올바른 서버에 여전히 도달하면서 여러 ElastiCache 클러스터의 트래픽을 샤딩합니다.
-
클라이언트는 Service Discovery API에 요청을 보내 연결할 실시간 메시징 서버를 검색합니다. 사용 가능한 메시징 인스턴스 목록은 서비스 검색 캐시에 저장됩니다.
-
Service Discovery 캐시는 클라이언트, 실시간 메시징 인스턴스, Redis PubSub 클러스터 및 각 메시징 인스턴스가 수신할 수 있는 주제를 포함하여 연결된 엔드포인트에 대한 정보를 저장합니다. 클라이언트의 연결이 끊어지면이 정보가 캐시에서 제거됩니다.
-
애플리케이션은 메시징 API를 사용하여 클라이언트에 메시지를 전달합니다. API는 올바른 실시간 메시징 서버 및 게임 클라이언트에 도달하는 적절한 주제에 메시지를 게시합니다.
-
메시징 API는 Redis PubSub 인스턴스 중 하나의 주제에 메시지를 게시합니다. 각 실시간 메시징 서버는 모든 PubSub 인스턴스에서 동일한 주제를 수신하기 때문에 메시지를 수신하는 ElastiCache 클러스터에 관계없이 메시지가 전달됩니다.
참조 자료
자세한 내용은 다음 리소스를 참조하세요.
다이어그램 기록
이 참조 아키텍처 다이어그램의 업데이트에 대한 알림을 받으려면 RSS 피드를 구독하세요.
| 변경 사항 | 설명 | 날짜 |
|---|---|---|
최초 게시 | 참조 아키텍처 다이어그램이 처음 게시되었습니다. | 2020년 11월 11일 |
참고
RSS 업데이트를 구독하려면 사용 중인 브라우저에 대해 RSS 플러그인이 활성화되어 있어야 합니다.