군침이 싹 도는 코딩

Unreal Pixel Streaming AWS Architecture 본문

Unreal Engine 5

Unreal Pixel Streaming AWS Architecture

mugoori 2023. 10. 19. 13:55

Basic Concept

# 3개 또는 4개의 인스턴스가 필요한 상황입니다. 먼저, 클라이언트는 매치메이킹 서버에 클라이언트 커넥션을 요청합니다. 매치메이킹 서버는 이 요청을 분석하고 처리합니다. 웹 시그널링 서버는 연결된 코스턴 서버와 클라이언트 간의 연결을 조정하며, 클라이언트와 서버 간의 통신을 주도합니다. 이러한 설정 후, 클라이언트와 픽셀 스트리밍 서버 간에 데이터 교환을 통해 게임 플레이가 가능해집니다.

Autoscaling

# 여러대의 서버가 있는 경우 매치메이킹과 코스턴은 적은 수의 갯수 웹 시그널링과 픽셀 스트리밍 1:1이거나 둘을 합치는 방안

Lambda

# 매치메이킹 서버를 람다로 관리하고 웹 시그널링 서버의 위치정보나 현재 사용되는 정보들을 DDB를 통해서 실시간으로 업데이트해서 사용하는 방안

Selected Forward Unit

# 대규모로 사용자가 붙었을때의 최적화 방법

픽셀 서버에 웹 시그널링 서버가 바로 붙는것이 아니라 픽셀 서버는 SFU 서버에 렌더링한 데이터를 보내주고 더 이상 역할을 하지 않는다 SFU 서버가 플레이어가 게임을 진행 하도록 도와주고 여러명의 시청자가 SFU 서버를 통해 게임 플레이를 시청할 수 있다.

 

# 클라우드 프론트를 통해서 인포딩한 프로그램을 변환해서 SFU에 붙이는 식으로 대규모 시청자를 처리할 수 있다

OverView

# 전체적으로 EKS ( Elastic Kubernetes Service ) 로 관리할 수 있는 아키텍쳐

클라이언트는 API 게이트웨이를 통해서 람다 매치메이킹 서버를 통해 퍼블릭 서버셋에 있는 시그널링 서버나 코스턴 서버와 연결하게 되고 실제 게임은 프라이빗 서버셋에 픽셀 서버와 통신을 해서 데이터를 주고받아 게임 플레이를 하게 된다.

모든 과정은 오토 스케일링된다.